读书人

itcl:怎么将class对象加到数组中

发布时间: 2012-02-28 13:06:35 作者: rapoo

itcl:如何将class对象加到数组中?
将class对象加到数组中时,提示
============================================================
A::f1
can't read "a": no such variable
while executing
"set arr(0) $a"
(file "E:\eclipse\eclipse_workspace\main.tcl" line 33)============================================================
创建对象,对象名就成了一个tcl 命令,
是不是这样,所以认为 a不是变量呢?

在tcl语言中,本身是不支持复杂对象加入数组的,
Itcl应该支持,不知该如何使用?
哪位兄弟姐妹知道的,帮忙讲下,谢谢!


============================================================
code:
package require Itcl

::itcl::class A {

public method f1 { } {
puts "A::f1"
}
}

::itcl::class B {
public method f2 { } {
puts "B::f2"
}
}

A a
a f1

array set arr ""
set arr(0) $a
puts $arr(0)
=============================================================

[解决办法]
数据类型不符,需要将数据的类型进行转换后,才可以添加到数组中。

读书人网 >其他开发语言

热点推荐