if语句

问题描述:

我试图运行一个多线同时在Rebol的REPL(又名命令行), 语句就像http://www.rebol.com/docs/expert-intro.htmlif语句

if size [ 
    print "ok" 
] 

我键入它一行行,但if size [后雷博尔REPL多线,它说:

>> size: 0 
== 0 

>> if size [ 
** Syntax error: missing "]" at "end-of-script" 
** Near: (line 1) if size [ 

>> 

这是REPL的问题,我输入它的方式,还是别的吗?

在Rebol 2 REPL中,这应该是正常的。第一行后,提示应该改变成“延续提示”:

>> if size [ 
[ ;<cursor here> 

在雷博尔3,REPL目前(2013-02)不支持多线表达式。

我也对这个问题感到非常沮丧。

但是,我发现了一个真正可怕的解决方法,即:将你的代码打包成一个字符串,并'做到这一点。

因此,对于你的例子可以进入的方式是这样的:

>> size: 0 
== 0 

>> do {if size [^/^-print "ok"^/]} 
ok 
>> 

我警告你这是可怕的,对不对?