Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 使用TclOO创建对象时出错_Oop_Tcl - Fatal编程技术网

Oop 使用TclOO创建对象时出错

Oop 使用TclOO创建对象时出错,oop,tcl,Oop,Tcl,我的系统上安装了Tcl 8.6。我只是从以下几个方面尝试一些例子: 我认为我可以创建一个没有类的对象,或者我做错了什么?使用objdefine而不是define来处理对象 请注意,类是一个对象,因此在处理类本身时,仍然使用objdefine wiki上的一些示例(以及Tclliboo::util模块文档中的一个示例)是在TclOO仍在成型时编写的,在当前系统定义下不可执行。另一个问题是,一些wiki页面描述了针对TclOO限制的巧妙解决方法,这些限制已被消除,不再需要任何解决方法,因此如果您正在

我的系统上安装了Tcl 8.6。我只是从以下几个方面尝试一些例子:


我认为我可以创建一个没有类的对象,或者我做错了什么?

使用
objdefine
而不是
define
来处理对象

请注意,类是一个对象,因此在处理类本身时,仍然使用
objdefine

wiki上的一些示例(以及Tcllib
oo::util
模块文档中的一个示例)是在TclOO仍在成型时编写的,在当前系统定义下不可执行。另一个问题是,一些wiki页面描述了针对TclOO限制的巧妙解决方法,这些限制已被消除,不再需要任何解决方法,因此如果您正在从wiki学习TclOO,您将感到困惑。如果有人知道一个好的,最新的教程,请随意评论与链接

(我只记得书中的一章。我没有详细研究它,但它确实为我澄清了一些事情。)


文档:(也是
objdefine
),包

该示例可能适用于早期版本的实现,但实例的配置被移动到一个单独的命令,
oo::objdefine
,以使代码不那么疯狂(==Tcl 8.6文档中的TclOO部分)不正确,请告诉我,我会尽快修复它们。Wiki页面可以由任何人修复。其他资源的难度会有所不同(最后的提示不会被触及)。@DonalFellows:我想到的示例出现在
oo::util
文档中(singleton示例)而不是在核心TclOO文档中。OTOH,那个文档故障是在2年半前报告的…()至于wiki,我拒绝在当前的情况下接触它。@DonalFellows:事实上,核心文档中也有一些不正确的例子。当你说“让我知道”时,我是亲自发送给您还是在某处归档票据?我现在已经向
core.tcl.tk
提交了两张票据。似乎没有任何文档类别,所以我将它们标记为TclOO,并在标题中添加了“documentation:”。
oo::object create foo
::foo
oo::define foo {method bar {} {puts "Hello, World!"}}
foo does not refer to a class
while evaluating {oo::define foo {method bar {} {puts "Hello, World!"}}}