Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对 Ruby 很陌生,我正在尝试使用存储在数组中的数学符号作为字符串来执行数学运算。这是我正在研究的逆波兰符号计算器。例如:
var = ['1','2','+']
我已经通过足够多的正则表达式来弄清楚如何在 if 语句中区分数字和非数字,但我试图弄清楚如何使以下工作产生-1。
var[0] var[2] var[1] #=> 1 - 2
有谁知道如何将字符串“-”改回数学符号?
'1'.to_i.send('-', '2'.to_i) # => -1
send调用第一个参数作为对象的方法,其余参数作为参数。
send
一种方法是使用eval函数
eval
result = eval "#{var[0]} #{var[2]} #{var[1]}"