转换数据类型的方法

时间:2014-09-11 05:23:21

标签: ruby variables

我正在寻找一种将接收器转换为字符串的方法。在下文中,a.to_s不会改变a的指示对象。 a会返回3

a = 3
a.to_s #=> "3"
a #=> 3

我想要像

这样的东西
a = 3
a.some_method
a #=> "3"

a应该返回"3"

2 个答案:

答案 0 :(得分:3)

只需指定字符串。

a = 3
a = a.to_s

或者更简洁......

a = 3.to_s

有些对象是可变的,有些是不可变的,但是没有机制让3.some_method更改对象的data_type(class)。

上述解决方案只是将所需data_type的新对象分配给变量。

变量非常愚蠢"推荐人并没有自己的方法,a.some_method在引用的对象(#some_method)上调用3.some_method

答案 1 :(得分:2)

这是不可能的。无论方法返回什么对象,它都不会更改引用该接收器的变量的引用。