itcl:如何将class对象加到数组中?

adtX 2011-10-15 12:46:06
将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)
=============================================================
...全文
105 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
adtX 2011-10-28
  • 打赏
  • 举报
回复
其实,应该将对象a直接加入数据就可以了,不要使用$进行置换
我想,应该是类对象实际是命令,而不是变量了
adtX 2011-10-18
  • 打赏
  • 举报
回复
问下,需要转换成什么类型?如何转换呢?
DISINHUI 2011-10-17
  • 打赏
  • 举报
回复
数据类型不符,需要将数据的类型进行转换后,才可以添加到数组中。

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧