4

私はこのようなことをしようとしています。エラーが発生していますが、これは文字列であるためだと思いopます。数学演算子の文字列を演算子に変換することは可能ですか?

def calc(op)
  a = 9
  b = 5
  a op b
end

p calc('-')
p calc('+')
4

1 に答える 1

12

ここで使用していObject#sendます:

def calc(op)
  a = 9
  b = 5
  a.send(op,b)
end

p calc('-')
p calc('+')
# >> 4
# >> 14
于 2013-11-01T19:11:35.030 に答える