我想避免这样做:
if a
some_method(a, b)
else
some_method(b)
end
Run Code Online (Sandbox Code Playgroud)
some_method是一个接受两个参数的函数,第一个是命名空间,如果没有提供,那么它只接受方法(b).
笔记:
有没有办法在一行中完成这项工作?
看来你有一个允许可变数量参数的方法.你可以这样做:
args = [a,b]
some_method(*(args.compact))
Run Code Online (Sandbox Code Playgroud)
这样做:compact从列表中删除nils.然后*(splat运算符)将数组元素"展开"到适当的位置.
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |