如何在类本身内访问类的关联数组成员? Itcl以C ++为模型,在C ++中我们会写:
SomeObject.SomePublicMember = ...
如何在Itcl中做同样的事情?没有为这样的阵列提供访问程序。我已经看到,对于通常的普通变量,这可以通过使用cget:
获得$this cget -PublicMemberVariableName
但是以下构造不起作用:
$this cget -AssociativeArrayName(NamedIndex)
这有可能吗?
答案 0 :(得分:2)
唉,cget不会得到你想要的。数组元素不会一直传递到ItclGetInstanceVar(我不知道为什么)。
你可以使用get / set等:
class myObject {
public variable AssArray
constructor {} {
array set AssArray ""
}
method setArr { elem val } {
set AssArray($elem) $val
}
method getArr { elem } {
return $AssArray($elem)
}
method getFullArr {} {
return [array names AssArray]
}