阅读完文档并阅读一些示例后,我仍然不满意splat运算符*
的完全用法。什么时候使用好?什么时候使用不好?我可以在网上找到它在文档上的一些用途,但我似乎找不到任何简单的例子来说明它可能导致的好坏。感谢
答案 0 :(得分:1)
我可以向您展示一些如何使用的例子。
假设您有一个需要一些参数的方法
def foo(a,b,c)
并且您想要调用此方法,使用数组提供参数的值。你可以写:
foo(*[1,2,3])
另一种情况是你希望修补记录但不想破坏原始功能。例如,在rails模型中覆盖save
:
def save(*args)
# do something custom here
super(*args)
end
这就是说"我不关心这个函数的参数,但我想确保它们全部传递给super
调用。 "