在 Tcl 中查找命名空间的所有过程
find all procs of a namespace in Tcl
假设我有一个命名空间。我想找到所有命名空间过程。
例如,
让我们说我有这个代码:
namespace eval foo {
proc me {} { puts "yey!" }
proc moo {} { puts "ney!" }
}
puts [ getAllNamespaceProcs foo ] ; # getAllNamespaceProcs is what I do not know how to do
这应该产生:
> { me moo }
谢谢。
可以告诉 info procs
命令要查找的名称空间:
info procs ::foo::*
这将产生 ::foo::me ::foo::moo
(或者反过来;lsort
如果你关心的话)你可以过滤它(例如,使用 lmap
和 namespace tail
) 如果你想得到你提到的结果。
假设我有一个命名空间。我想找到所有命名空间过程。 例如, 让我们说我有这个代码:
namespace eval foo {
proc me {} { puts "yey!" }
proc moo {} { puts "ney!" }
}
puts [ getAllNamespaceProcs foo ] ; # getAllNamespaceProcs is what I do not know how to do
这应该产生:
> { me moo }
谢谢。
可以告诉 info procs
命令要查找的名称空间:
info procs ::foo::*
这将产生 ::foo::me ::foo::moo
(或者反过来;lsort
如果你关心的话)你可以过滤它(例如,使用 lmap
和 namespace tail
) 如果你想得到你提到的结果。