我需要解決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