Ruby 中的空格规则是什么?

发布于 2024-12-15 12:16:16 字数 242 浏览 4 评论 0原文

a = [2,4,5]
a.count-1 => 2
a.count - 1 => 2

但是

a.count -1 => 0

什么导致了这种行为呢?如果 a 是整数(而不是数组),为什么不会发生这种情况?

另外,我注意到方法名称和后面的括号(用于参数)之间不能有空格。这是为什么?

红宝石 1.9.2

a = [2,4,5]
a.count-1 => 2
a.count - 1 => 2

But

a.count -1 => 0

What causes this behavior? Why doesn't it happen if a is an integer (and not an array)?

Also, I have noticed that there must not be a space between a method name and the parenthesis that follows (for parameters). Why is that?

Ruby 1.9.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不如归去 2024-12-22 12:16:17

由于可以在不使用括号的情况下调用方法,因此:

a.count - 1

Means 从 a.count 中减去 1,而

a.count -1 # is like a.count(-1)

Means 使用 -1 调用方法 a.count > 作为参数。当 a 是整数时,不会发生这种情况,因为整数没有 count 方法。您只需在打字时小心即可。

Because methods can be called with no parentheses, this:

a.count - 1

Means subtract 1 from a.count, whereas

a.count -1 # is like a.count(-1)

Means call the method a.count with -1 as an argument. It doesn't happen when a is an integer because integers don't have the count method. You just have to be careful as you type.

粉红×色少女 2024-12-22 12:16:17
a.count - 1 # you are subtracting 
a.count -1  # you are doing a.count(-1)

您确定不能在方法名称和括号之间添加空格吗?我刚刚在 ruby​​ 1.9.2 中做到了,效果很好。例如

a.product([3])
a.product ([3])
a.count - 1 # you are subtracting 
a.count -1  # you are doing a.count(-1)

Are you sure you can't put a space between a method name and the parens? I just did it in ruby 1.9.2 and it works fine. For example

a.product([3])
a.product ([3])
栀子花开つ 2024-12-22 12:16:17

a.count -1 相当于 a.count(-1)

它返回数组中包含 -1 的次数。

a = [-1, 3, 4]
a.count -1 => 1

a.count -1 is equivalent to a.count(-1).

It returns the number of times -1 is included in your array.

a = [-1, 3, 4]
a.count -1 => 1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文