2
在Ruby中,如果我設置的變量:Ruby - 如何評估兩個數字和一個運算符?
1.9.3-p327 :002 > a=20;b=5;c="-"
我怎麼能那麼做的 「ABC」,並使其返回15
我想這
class Dummy < Object
def self.calc(a,b,operation)
return eval(a,operation,b)
end
end
1.9.3-p327 :006 > Dummy.calc(a,b,c)
,但我得到
TypeError: can't convert Fixnum into String
from (irb):6:in `eval'
+1爲a.send(c,b) –
事實上,使用eval完全是一個非常糟糕的主意。而不是發送,如果它在網絡上(想想有人在寫1,:instance_eval,'system(\'rm -rf /''''')+1。 – Linuxios
是的,這兩個工作都是簡化的片段,所以不會造成太大的影響感覺孤立,但試圖得到的原則,你的答案表明。 –