Jak*_*kob 5 operators iolanguage
我正在尝试使用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!
Run Code Online (Sandbox Code Playgroud)
如上所述,这在cli中工作正常,但是当我尝试在文件中运行它时不起作用.我认为它与文件已经预先确定的事实有关,在定义运算符之前,但我将如何解决这个问题呢?
这是 Io 中算子洗牌器的限制。发生的事情大致是这样的:
对您来说不幸的是,您在操作符洗牌器已经运行后对其进行操作。