0
filename = filename.gsub("_"," ").nil? ? filename.gsub("_"," ") : filename
filename = filename.gsub("_"," ").nil? ? filename.gsub("_"," ") : filename
filename = filename.gsub("_", " ")
或者,如果它的確定變異的字符串:
filename.gsub!("_", " ")
檢查gsub
回報是否爲零是完全沒有必要的 - gsub
永遠不會返回nil
。 gsub!
返回nil
如果沒有更改,但如果您使用gsub!
,則通常不關心返回值。
另外請注意,你給的代碼將總是返回filename
不變,因爲你混了then
- 和else
-part您?:
的。
基本上,只是
filename.gsub!("_", " ")
或者,
filename = filename.split("_").join(" ")
Ruby文檔說:執行到位串#GSUB,返回海峽,或零的換人,如果沒有換人進行 – auralbee 2010-10-23 16:19:27
@auralbee :你正在混淆'gsub!'和'gsub'。您引用了'gsub!'的文檔,但是您在代碼中使用了'gsub'。 'gsub'永遠不會返回'nil','gsub!'呢。 – sepp2k 2010-10-23 16:20:05
你是對的!我有點困惑!謝謝 – auralbee 2010-10-23 16:22:16