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

前端之家收集整理的这篇文章主要介绍了ruby – 在方法调用中使用括号的规则是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
调用方法时,我无法在以下情况中省略括号:
t=[]
t.push {}
# => []  # I expected [{}]
t.push({})
# => [{}]

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

解决方法

当您传递{}作为唯一参数时(因此调用中没有逗号),Ruby无法判断您是否表示空哈希或空块,因此您需要使用括号来区分它:
t.push(){}
t.push({})

在其他情况下,良好的经验法则是,如果直接使用方法调用作为参数,则需要使用括号.

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

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

arg3 = other_method arg01,arg02
methods arg0,arg3,arg4
原文链接:https://www.f2er.com/ruby/269896.html

猜你在找的Ruby相关文章