我需要解决Ruby中的一个简单问题,但希望以一种巧妙的方式实现它。我有一个函数:Ruby连接最佳实践
def fullname
first + " " + mi + last
end
这将崩溃,如果一个或多个变量是nil
,让我们说英里的这个例子,因为它是在中心。
错误:
can't convert nil into String
如果我改变功能:
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
你不应该依靠具有定义模式的全名:http://www.w3.org/International/questions/qa-personal-names –
@DamienMATHIEU:婴儿的脚步,我的朋友。 OP是一个自我描述的新手;不要压倒他;) –
谢谢你,110%的人知道这还没有国际化。在我想通过这座桥之前,需要先弄清楚这些基础知识。感谢您的文章,绝对是我需要阅读和理解的东西! – MechDog