gFo*_*iva 5 ruby ruby-on-rails ruby-on-rails-3
我需要一个通过输入字符串进行计算的方法,就像这样
function = "(a/b)*100"
a = 25
b = 50
function.something
>> 50
Run Code Online (Sandbox Code Playgroud)
有一些方法吗?
你可以使用instance_eval:
function = "(a/b)*100"
a = 25.0
b = 50
instance_eval function
# => 50.0
Run Code Online (Sandbox Code Playgroud)
请注意,使用eval本质上是不安全的,特别是如果您使用外部输入,因为它可能包含注入的恶意代码.
另请注意,a设置为25.0而不是25,因为如果它是一个整数a/b将导致0(整数).
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |