このコードを考えてみましょう:
OperatorTable addOperator(":", 2)
: := method(value,
list(self, value)
)
hash := "key": "value"
hash println
戻り値はである必要がありlist(key, value)、これをIo REPLで使用する場合は、まさに戻り値です。インタプリタを使用する場合(のようにio somefile.io)、返される値はですvalue。いくつかの検査の後、違いはここにあります:
# In the REPL
OperatorTable addOperator(":", 2)
message("k" : "v") # => "k" :("v")
# Via the Interpreter
OperatorTable addOperator(":", 2)
message("k" : "v") # => "k" : "v"
なぜこうなった?