我需要在 Ruby 中解决一个简单的问题,但想以一种聪明的方式来解决。我有一个功能:
def fullname
first + " " + mi + last
end
如果一个或多个变量是 ,那将会崩溃nil
,假设这个例子中的 mi 因为它在中心。
错误:
无法将 nil 转换为字符串
如果我将功能更改为:
def fullname
first + " " + mi.to_s + last
end
或者
def fullname
first + " " + (mi || "") + last
end
它会修复它。现在我想在 mi (中间首字母)之后添加一个额外的空格,如果它存在并且我因为一些愚蠢的原因而被难住了。做这样的事情最干净的方法是什么,因为我将不得不做很多事情,有时会添加一个逗号。
这种需求的例子:
def fullname
first + " " + (mi || "") + last + suffix
# want a ", " afer the last name if there is a suffix
end