1

http://www.rebol.com/docs/expert-intro.htmlのように、Rebol REPL(別名コマンドライン)で複数行のwhileステートメントを実行しようとしました。

if size [
    print "ok"
]

行ごとに入力しましたが、その後if size [、次のように表示されます。

>> size: 0  
== 0

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

>> 

これはREPL、入力方法、またはその他の問題ですか?

4

2 に答える 2

4

Rebol 2 REPLでは、これはうまくいくはずです。最初の行の後、プロンプトは「続行プロンプト」に変わります。

>> if size [
[    ;<cursor here>

Rebol 3では、REPLは現在(2013-02)複数行の式をサポートしていません。

于 2013-02-13T16:08:15.747 に答える
1

私もこの問題に非常に不満を感じました。

しかし、私は本当にひどい回避策を見つけました。つまり、コードを文字列にまとめて「実行してください」というものです。

したがって、あなたの例では、入力方法は次のようになります。

>> size: 0
== 0

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

ひどいことだと警告したよね?

于 2015-01-15T20:04:05.640 に答える