使用Tcl8.5,在方法中调用$this
而不是调用它之间有区别吗?例如:
package require Itcl
namespace import itcl::*
class MyCls {
method foo {}
method bar {}
}
body MyCls::bar {} { return "hi" }
body MyCls::foo {} {
puts [$this bar]
# OR
puts [bar]
}
答案 0 :(得分:0)
您只需添加一个bar
的全局实现即可试用。如下图所示 - 没有区别。该类只是在进入全局命名空间之前添加了另一个要检查过程的级别。
% package require Itcl
% namespace import itcl::*
% class C {method foo {}; method bar {}}
% body C::bar {} {return "C::bar"}
% body C::foo {} { puts [$this bar]; puts [bar] }
% C c
c
% c foo
C::bar
C::bar
%