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 回答