gpt4 book ai didi

tcl - 命名空间合奏创建-map : Get the old name in my procedure when I call it

转载 作者:行者123 更新时间:2023-12-05 03:20:46 25 4
gpt4 key购买 nike

在我的命名空间下面:

namespace eval ::my {

namespace ensemble create -map {
name name
newName name
}
}

和我的程序:

proc ::my::name {args} {
puts [lindex [info level 0] 0]
}

我想获取我的过程的名称,为此我使用[lindex [info level 0] 0]
但是当我调用:my newName时,它总是返回::my::name
是否有可能改为获取 ::my::newName

最佳答案

不,因为您正在查看已解析的实现名称。如果您想了解有关调用实现方式的信息,请将其作为额外参数传递:

namespace eval ::my {
proc name {realName args} {
puts $realName
}
namespace ensemble create -map {
name {name name}
newName {name newName}
}
}

即使使用缩写的子命令名称(例如,my new),这也很有用。

关于tcl - 命名空间合奏创建-map : Get the old name in my procedure when I call it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73091946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com