如何在函数中测试 rebol/red 中未设置的参数?
How to test for unset parameter in rebol / red within a function?
当我调用不带参数的 f 时,出现脚本错误:如果不允许取消设置!对于它的 then-blk 论点,为什么?
f: func['p [string! unset!]][
if unset? 'p print "unset"
]
'p
的计算结果为 p
。为了测试 p
引用的值的类型,您需要使用 :p
并为 if
:
提供适当的主体块
f: func ['p [string! unset!]][
if unset? :p [print "unset"]
]
>> f "123"
== none
>> f
unset
当我调用不带参数的 f 时,出现脚本错误:如果不允许取消设置!对于它的 then-blk 论点,为什么?
f: func['p [string! unset!]][
if unset? 'p print "unset"
]
'p
的计算结果为 p
。为了测试 p
引用的值的类型,您需要使用 :p
并为 if
:
f: func ['p [string! unset!]][
if unset? :p [print "unset"]
]
>> f "123"
== none
>> f
unset