Ruby中的数字对象如何排除点表示法?

我注意到在大多数情况下需要使用点符号来调用对象的方法.我假设点用于将对象与方法名称连接,但在算术运算中,数字对象与其操作方法之间存在空格.例如,

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类具有串联方法.作为String类’a’的对象可以通过将b作为参数传递给该方法调用方法.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...