我想测试是否存在tcl-matrix对象。我怎样才能做到这一点?
以下代码不起作用。
package require struct::matrix
# Test (now we expect 0)
info exists m
# Create the object
struct::matrix m
# Test again, now I expect 1, however it returns 0!!!
info exists m
使用info commands
测试的矩阵对象的存在。info exists
测试变量(不存在)的存在。
% package req struct::matrix
2.0.3
% info commands m
% struct::matrix m
::m
% info commands m
m
矩阵对象实现为Tcl命令(准确地说是别名命令)加上每个矩阵的Tcl命名空间(作为存储)。
或者,但这在很大程度上取决于当前的实现,您可以测试是否存在所谓的名称空间:
% package req struct::matrix
2.0.3
% namespace exists m
0
% struct::matrix m
::m
% namespace exists m
1
例如,当矩阵对象重新实现为TclOO对象时,对命令的测试也将继续起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句