gpt4 book ai didi

operators - Io 运算符,似乎无法在文件中创建它们

转载 作者:行者123 更新时间:2023-12-04 20:22:54 26 4
gpt4 key购买 nike

我一直在试验 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 中工作正常,但当我尝试在文件中运行它时不起作用。我认为这与在定义运算符之前已经预解析文件有关,但是我将如何解决这个问题?

最佳答案

这是 Io 中 operator shuffler 的限制。发生的事情大致是这样的:

  • 源文件被加载,标记化(在这个阶段,没有操作符是已知的)
  • 运营商洗牌器运行
  • 代码被评估

  • 对您来说不幸的是,您正在操作已经运行的操作符洗牌器。

    关于operators - Io 运算符,似乎无法在文件中创建它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4339137/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com