5
也許這聽起來很荒謬,但我想知道這對Ruby有可能嗎?基本上,我有一個函數...將操作符傳遞給函數?
def add a,b
c = a + b
return c
end
我希望能夠通過「+」或其他操作,例如「 - 」的功能,因此,它會是這樣的......
def sum a,b,operator
c = a operator b
return c
end
這是可能的嗎?
也許這聽起來很荒謬,但我想知道這對Ruby有可能嗎?基本上,我有一個函數...將操作符傳遞給函數?
def add a,b
c = a + b
return c
end
我希望能夠通過「+」或其他操作,例如「 - 」的功能,因此,它會是這樣的......
def sum a,b,operator
c = a operator b
return c
end
這是可能的嗎?
兩種可能性:
採取的方法/操作名稱作爲符號:
def sum a,b,operator
a.send(operator, b)
end
sum 42, 23, :+
或者更一般的解決辦法:取塊:
def sum a,b
yield a,b
end
sum 42, 23, &:+
+1符號的很好用法#to_proc – Swanand 2010-10-25 12:06:27