我正在调试一个不像我希望的那样的脚本;
我正在编写一个小的调试实用程序函数,它将打印'word后跟其值。 我写了这个:
debug: func [x] [print rejoin ['x " => " x] wait 0.5 ]
而且,在我的代码中,我想简单地称之为:
phrase: "beer is good"
mots: parse phrase " "
debug phrase
foreach mot mots [
debug mot
;do something...
]
我会梦想它会在控制台上输出如下:
phrase => "beer is good"
mot => "beer"
mot => "is"
mot => "good"
但我找不到一种方法来检索变量的原始名称,即它的名称超出了函数的范围。
答案 0 :(得分:2)
如果你查看你的'调试功能并将其与'??的来源进行比较,你会看到你需要采取不同的做法:
??: func [
{Prints a variable name followed by its molded value. (for debugging)}
'name
][
print either word? :name [head insert tail form name reduce [": " mold name: get name]] [mold :name]
:name
]
答案 1 :(得分:0)
我没有足够的搜索......
?? variable
做我需要的。
>> ? ??
USAGE:
?? 'name
DESCRIPTION:
Prints a variable name followed by its molded value. (for debugging)
?? is a function value.
ARGUMENTS:
name -- (Type: any)