【发布时间】:2026-02-06 02:05:01
【问题描述】:
我已经多次使用 ruby 的eval 功能。但我听说有人说evals 很讨厌。当被问及为什么以及如何使用时,我永远无法找到不使用它的令人信服的理由。他们真的很讨厌吗?如果是,以什么方式?评估可能有哪些“更安全”的选项?
【问题讨论】:
-
更安全的选项取决于您使用 eval 执行的操作,您能更具体一点吗?
-
我没有什么特别的要求。但我所说的“更安全”是指可以让您获得相同结果的东西,避免或减少漏洞。
-
通常使用 send 比 eval 更安全吗?
-
send并不是真正的替代方案,因为 send 只向对象发送消息(即调用方法)。eval评估代码。任何代码。