Posted to tcl by pooryorick at Mon Apr 01 12:51:37 GMT 2013view pretty

#! /bin/env tclsh

namespace import oo::*
set obj [object new]
objdefine $obj variable var1 
objdefine $obj method m {} {
    set var1 val1
}
objdefine $obj method get {} {
    return $var1
}

$obj m
$obj get
set obj2 [oo::copy $obj]
${obj2}::my eval {
    set var1 val2
}
puts [$obj2 get]