也许这听起来很荒谬,但我想知道这可能与Ruby有关吗?基本上我有一个功能......
def add a,b
c = a + b
return c
end
Run Code Online (Sandbox Code Playgroud)
我希望能够将"+"或其他操作符(例如" - ")传递给函数,以便它可以像...
def sum a,b,operator
c = a operator b
return c
end
Run Code Online (Sandbox Code Playgroud)
这可能吗?
sep*_*p2k 11
两种可能性:
将方法/运算符名称作为符号:
def sum a,b,operator
a.send(operator, b)
end
sum 42, 23, :+
Run Code Online (Sandbox Code Playgroud)
或者更通用的解决方案:采取一个块:
def sum a,b
yield a,b
end
sum 42, 23, &:+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2484 次 |
| 最近记录: |