gpt4 book ai didi

ruby - 为什么不一直使用 ruby​​ 中的 splat 参数?

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

我知道当我们不知道要传递的参数数量时会使用 splat 参数。我想知道我是否应该一直使用 splat。每当我传递参数时使用 splat 参数是否有任何风险?

最佳答案

当您编写的方法确实需要具有任意数量的参数时,对于诸如 Hash#values_at 之类的方法,splat 非常有用。

但一般来说,如果一个方法实际上需要固定数量的参数,那么使用命名参数比传递数组和记住哪个位置服务于哪个目的要清楚得多。例如:

def File.rename(old_name, new_name)
...
end

比:

更清晰
def File.rename(*names)
...
end

您必须阅读文档才能知道旧名称是第一个还是第二个。在方法内部,File.rename 需要围绕您是否传递了正确数量的参数实现错误处理。因此,除非您需要 splat,否则“正常”参数通常更清晰。

关键字参数(ruby 2.0 中的新功能)在使用时可以更加清晰,尽管它们在标准库中的使用尚未广泛。

关于ruby - 为什么不一直使用 ruby​​ 中的 splat 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16634628/

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