如果打印一个对象可以使用to_s,但是假如要将一个对象转换为一个字符串呢?答案是为对象定义一个to_str方法,对象的to_str代表一个场景:调用一个要求他的参数为字符串的核心方法。
常见的如是字符串加法。将两个字符串加在一起,产生第三个字符串。
>>"hello"+"there"
=>"hello there"
如果试图一个非字符串给一个字符串
>>"hello"+10
typeError: no implicit conversion of Float into String
这就是to_str的由来,假如一个对象可以响应to_str方法,那么当对象被用作String#+的参数时,它自己的to_str的表现形式将会启用。
ruby-to_str
最新推荐文章于 2024-01-05 16:29:13 发布