gpt4 book ai didi

ruby - 单个数组参数与多个参数

转载 作者:数据小太阳 更新时间:2023-10-29 07:25:51 27 4
gpt4 key购买 nike

我看到了这样定义和使用的方法:

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)

最佳答案

splat 感觉很自然,因为这种方法可以合理地应用于单个或多个名称。需要在数组大括号中放置单个参数很烦人且容易出错,例如 mention('your courses rocked!', ['eallam'])。 splat 还经常节省击键次数,即使方法只适用于 Array

此外,您没有理由不能将其他参数放入*names:

def mention(status, arg2, arg3, *names)
def mention(status, *names, arg2, arg3)

关于ruby - 单个数组参数与多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19439216/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com