我正在学习Ruby,我看到了一些让我感到困惑的方法,特别是to_s
和to_str
(以及类似的to_i
/to_int
、to_a
/to_ary
和to_h
/to_hash
)。我读到的内容说明,较短的形式(例如to_s
)用于显式转换,而较长的形式用于隐式转换。
我真的不明白to_str
实际上是如何使用的。除了字符串之外,还会有其他东西定义to_str
吗?你能给出这种方法的实际应用吗?
发布于 2019-02-27 21:15:05
Zverok有一篇非常容易理解的文章,关于什么时候使用什么(用to_h和to_hash解释)。
它必须决定实现这些方法对象是否可以使用to_s
转换为字符串->
或者它是使用to_str
的某种(增强的)字符串->类型
我在gem 'configuration' (GitHub和Configuration.rb)的Configuration类的实践中看到了to_hash
的一种有意义的用法
顾名思义,它表示所提供的配置,实际上是一种散列(具有附加功能),而不是可转换为散列。
https://stackoverflow.com/questions/11182052
复制相似问题