itcl::scope
返回 的指定成员变量的全名$this
。
如何调用itcl::scope
同一类的另一个对象(而不是$this
)?
这是一种解决方法。
itcl::class dummy {
variable m_data
method function { other } {
if { [itcl::is object -class dummy $other] } {
error "Invalid argument."
}
set name "@itcl $other [$other info variable m_data -name]"
# OR
set name [lreplace [itcl::scope m_data] 1 1 $other]
puts "==== this is the name of m_data of of object $other: $name"
}
}
但这很丑陋,委婉地说。
我想$other info variable m_data -name
应该返回我想要的,但它只是省略了对象的上下文。