私はIo言語の演算子を試しています。CLIではすべて正常に機能しますが、代わりにコードをファイルに入れるとすぐに問題が発生します。
これは小さな例です(+と同じことを行う演算子+++を作成します)
OperatorTable addOperator("+++", 3) # Say that +++ should be an operator
Number +++ := method(v, call target + v) # Define the slot +++ on numbers
(30 +++ 40) println # Try it out!
前述のように、これはCLIで正常に機能しますが、ファイルで実行しようとすると機能しません。演算子が定義される前にファイルが事前解析されているという事実と関係があると思いますが、どうすればそれを回避できますか?