gpt4 book ai didi

ruby - 方法调用中括号的使用规则是什么?

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

在调用方法时,我不能在以下情况中省略括号:

t=[]
t.push {}
# => [] # I expected [{}]
t.push({})
# => [{}]

我应该应用什么规则来避免这种情况?

最佳答案

当您将 {} 作为唯一参数传递时(因此调用中没有逗号),Ruby 无法判断您的意思是空散列还是空 block ,因此您需要使用括号区分它:

t.push(){}
t.push({})

在其他情况下,根据经验,如果您直接将方法调用用作参数,则需要括号,即

method arg0, arg1, other_method(arg01, arg02), arg2, arg3

当您的方法调用变得更加嵌套时,最好使用局部变量(或重新考虑您的接口(interface))来减少方法调用,即

arg3 = other_method arg01, arg02
methods arg0, arg1, arg3, arg3, arg4

关于ruby - 方法调用中括号的使用规则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32756498/

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