我发现几乎不可能将带引号的参数(包含空格)传递给 REBOL 3 脚本。例如:
rebol -q script.r "foo bar" 40
如果检查system/script/args
,它包含字符串"foo bar 40"
。这是没用的!信息丢失。我需要知道这"foo bar"
是第一个论点,40
也是第二个论点。如果我检查system/options/args
,我会得到以下块:["foo" "bar" "40"]
。再次,没用!信息丢失。
我怀疑这个问题的解决方案是使用某种类型的参数分隔符,例如,
rebol -q script.r 'foo bar' -n 40
这可以很容易地处理PARSE
,但我仍然不喜欢它。system/options/args
每个传递的参数包含一个字符串应该不是很困难。
REBOL 使用起来很愉快,这是我发现的第一个让我非常失望的东西。:(