【发布时间】:2013-10-17 23:47:39
【问题描述】:
我看到了一个这样定义和使用的方法:
def mention(status, *names)
...
end
mention('Your courses rocked!', 'eallam', 'greggpollack', 'jasonvanlue')
为什么不直接使用数组作为第二个参数,而不是使用 splat 将参数组合成一个数组?
def mention(status, names)
...
end
mention('Your courses rocked!', ['eallam', 'greggpollack', 'jasonvanlue'])
这也将允许最后的参数。
def mention(status, names, third_argument, fourth_argument)
...
end
mention('Your courses rocked!', ['eallam', 'greggpollack', 'jasonvanlue'], Time.now, current_user)
【问题讨论】:
-
从 Ruby 1.9 版开始,splat 参数不必放在最后。例如,您可以拥有
def mention(status, *names, third_argument, fourth_argument)。作为 Ruby 新手,也许是编程新手,您可能不熟悉 @Adam 在他的回答中使用的术语“代码气味”。它总是一个贬义词。从来没有人听到过,“男孩,你的代码闻起来很香!”
标签: ruby coding-style