gpt4 book ai didi

ruby - Ruby 中的魔术方法?

转载 作者:数据小太阳 更新时间:2023-10-29 08:55:14 24 4
gpt4 key购买 nike

ruby 爱好者!我正在尝试用 ruby​​ 编写 DSL,我希望能够创建一些神奇的方法(不确定这是我想要的最准确的术语)。

我希望能够执行以下操作:

a = [1, 2, 3]
b = 2

(a contains b)

并将其解析为 true 或 false。

本质上,我如何定义“包含”函数,以便它接受一个数组 a 和一个变量 b 并执行 a.contains?(b ),但没有所有相关的特定于 ruby​​ 的语法?

最佳答案

如果你想要一个不使用 ruby​​ 语法的 DSL,你至少需要编写一个解析器来执行转换(raganwalds 重写库可能是一个起点,http://github.com/raganwald/rewrite)

就是说,您不想这样做。这是需要维护的更多代码,Ruby 已经做出了很多让编写语言语法变得困难的艰难决定。自然语言编程对于非程序员来说也不是很容易使用,因为格式的准确性是一个具有挑战性的方面(例如,请参见 applescript)。

关于ruby - Ruby 中的魔术方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077628/

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