在 Ruby 中创建 DSL 时,是否可以创建 `def` 的替代版本?

When creating a DSL in Ruby, is it possible to create an alternate version of `def`?

可以直接调用 define_method 或从接受块的方法调用中调用。但是是否可以创建一个新的方法或关键字来对代码执行操作,然后将其声明为方法,但具有与内置语法相同的语法 def?

没有。您可以定义方法,但不能定义关键字。无论您在 Module class 上定义什么方法,您都不能在没有 do 关键字的情况下将方法主体传递给它,这与 def.

不同