【发布时间】:2013-04-30 19:39:30
【问题描述】:
我有一个操作字符串的函数;但是,有时我的输入还不是字符串。例如,它可能是一个路径对象。我需要将其转换为字符串,因为我想调用像.gsub 这样的方法。
我的问题似乎有点简单,但我正在讨论将对象转换为字符串的最佳方法。
我目前有两种选择:
str = str.to_s unless str.is_a? String
或
str = str.to_s
第二种方法要简单得多,但第一种方法实际上描述了正在发生的事情。我想知道这两种方法中哪一种更好用,或者是否有我没想到的更好方法?
【问题讨论】:
-
定义
String#to_s的事实是来自Ruby 开发人员的一条消息,您应该使用第二个。像这样的情况是String#to_s有用的唯一情况。
标签: ruby coding-style