微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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作为参数传递给该方法调用方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐