gpt4 book ai didi

ruby - Ruby 中的数字对象如何排除点符号?

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

我注意到在大多数情况下调用对象的方法都需要点符号。我假设点是用来连接对象和方法名的,但是在算术运算中,数字对象和它的操作方法之间有一个空格。例如,

7.-(5)

使用点号也可以写成

7 - 5

在运算符和操作数之间有可选的空格。它是如何执行方法调用的?

最佳答案

Syntactic Sugar for Special Methods了解 ruby​​ 的所有语法糖的好来源。

以下在Ruby中都是一样的。

2 + 3   #=> 5
2.+(3) #=> 5
2.+ 3 #=> 5

所以当您编写 2 + 3 时,它在内部发生为 2.+(3)2.+ 3

因为在 Ruby 中一切都是对象。这里 2 也是一个 Fixnum 对象。使用 . 我们调用对象 2+ 方法,就是这样。

2.class #=> Fixnum
2.instance_of? Fixnum #=> true
2.respond_to? :+ #=> true

另一个例子如下:

"a" + "b" #=> "ab"
"a".+"b" #=> "ab"
"a".respond_to? :+ #=> true

respond_to 返回了 true - 这是因为 String 类具有连接方法 +。作为字符串类 'a' 的对象,可以通过将 b 作为参数传递给该方法来调用 + 方法。

关于ruby - Ruby 中的数字对象如何排除点符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15981794/

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