我有一個操縱字符串的函數;但是,有時我的輸入不是字符串。例如,它可能是一個路徑對象。我需要將它轉換爲字符串,因爲我想調用方法如.gsub
。測試一個對象是否是一個字符串
我的問題似乎有點簡單,但我在討論將對象轉換爲字符串的最佳方法。
我目前有兩種選擇:
str = str.to_s unless str.is_a? String
或
str = str.to_s
第二種方法要簡單得多,但第一種方法實際上描述發生了什麼事情。我想知道哪兩種方法更好用,或者有更好的方法,我沒有想到?
定義'String#to_s'的事實是Ruby開發人員的一個消息,你應該使用第二個消息。像這樣的情況是'String#to_s'會有用的唯一情況。 – sawa 2013-04-30 19:55:24