filename = filename.gsub("_"," ").nil? ? filename.gsub("_"," ") : filename
Run Code Online (Sandbox Code Playgroud)
filename = filename.gsub("_", " ")
Run Code Online (Sandbox Code Playgroud)
或者,如果可以改变字符串:
filename.gsub!("_", " ")
Run Code Online (Sandbox Code Playgroud)
检查gsub返回nil是否完全没必要 - gsub永远不会返回nil.如果没有进行任何更改,则gsub!返回nil,但如果您使用gsub!,则通常不关心返回值.
另请注意,您提供的代码将始终filename保持不变,因为您混淆了then- 和 - 的else部分?:.