我希望以聪明的方式解决Ruby中的一个简单问题。我有一个函数:
def fullname
first + " " + mi + last
end
如果其中一个或多个变量为nil
,那么这将导致崩溃,假设这里的变量是mi,因为它位于中心位置。
错误:
无法将nil转换为字符串
如果我将函数更改为:
def fullname
first + " " + mi.to_s + last
end
或者
def fullname
first + " " + (mi || "") + last
end
它会修复它。现在,如果中间名(middle initial)存在,我想在mi后面添加一个额外的空格,但由于某种愚蠢的原因,我被卡住了。最干净的方法是什么,因为我将不得不经常这样做,有时添加逗号等。
需要进行此操作的示例:
def fullname
first + " " + (mi || "") + last + suffix
# want a ", " afer the last name if there is a suffix
end