gpt4 book ai didi

ruby-on-rails - 为什么这些默认参数按原样定义?

转载 作者:太空宇宙 更新时间:2023-11-03 16:40:06 24 4
gpt4 key购买 nike

我目前正在学习 Ruby 和 RoR,我偶然发现了这个声明:

link_to_remote(name, options = {}, html_options = nil) 

我发现此模式用于其他几个 Rails 功能。

为什么默认值是这样定义的?为什么不是这两者之一?

... options = {}, html_options = {}) 
... options = nil, html_options = nil)

这是我在自己的职能中也应该遵循的某种约定吗?

最佳答案

方法定义如下:

link_to_function(name, remote_function(options), html_options || options.delete(:html))

这允许您将 html_options 指定为 options 哈希的一部分,而不是作为单独的参数。另一方面,options 哈希总是传递给 remote_function,因此我们需要它。

使用单例 nil 比构造一个永远不会在每次调用方法时都使用的数组更有效。我不会说这个原因如此令人信服以至于我不会使用 {} 如果它使生成的代码更清晰,但在没有任何其他考虑的情况下,这似乎是合乎逻辑的事情。

关于ruby-on-rails - 为什么这些默认参数按原样定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/904150/

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