Ruby 中的 .length 和 .length() 有什么区别?

San*_*edi 1 ruby

我只是想知道是否.length()只是一个别名,.length因为它们返回相同的结果:

[38] pry(main)> temp = [1,2,3]
=> [1, 2, 3]
[40] pry(main)> temp.length
=> 3
[41] pry(main)> temp.length()
=> 3
Run Code Online (Sandbox Code Playgroud)

spi*_*ann 8

没有区别。在 Ruby 中,您可以在许多情况下省略参数周围的括号。

temp.length
temp.length() 
Run Code Online (Sandbox Code Playgroud)

是相同的。同样适用于

temp.push(4)
temp.push 4
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,在某些情况下您想要或需要使用它们,例如“temp.push 4 * 5”或“temp.push(4) * 5”,这意味着两个截然不同的事物。 (5认同)