【发布时间】:2015-06-24 20:17:29
【问题描述】:
我喜欢 Ruby 中的 eval,因为它工作起来非常简单:
eval("puts 7 * 8") # => 56
eval 在 Crystal 中的等价物是什么?我知道我们可以用宏做类似的事情:
macro eval(code)
{{code.id}}
end
eval("puts 7 * 8") # => 56
但这不适用于运行时值:
a = "yo"
eval("puts #{a}") # => prints nothing
【问题讨论】:
-
您可以使用run macro method,但这仅在极少数情况下有用。我什至不会在 Ruby 中使用 eval,你为什么不问问你真正想要实现的目标是什么?
标签: eval crystal-lang