some_int >= 5 ? @description = "This is a pretty long value" : @description = "This value is a little shorter"
這是一個不正確的三元使用。三元的唯一用途是當你要使用返回值時。應當書面像這樣(格式化問題不談):
@description = some_int >= 5 ? "This is a pretty long value" : "This value is a little shorter"
如果它推超過80個字符的行應我不使用三元的表達?
行長度是錯誤的度量。這就像詢問子程序是否不應超過25行(或其他)。這並不能解決問題的根源,並可能導致一些尷尬的選擇。真正的問題是複雜性。
從複雜性POV你的三元很好。這是一個簡單的條件,簡單的語句,它使用返回值。問題是陳述太長,他們會包裝。你可以重新格式化它們,如@U-D13 suggests。
@description = some_int >= 5
? "This is a pretty long value"
: "This value is a little shorter"
你也可以把字符串放到他們自己的變量中,爲代碼添加進一步的說明。
@long_description = "This is a pretty long value"
@short_description = "This value is a little shorter (except it's not)"
@description = some_int >= 5 ? @long_description : @short_description
這兩種工具都是有效的,可以合併。這是情景。
嘿,看看,現在文本是一個可配置的對象變量。
爲什麼要保留80個字符以下的行? – spickermann
@spickermann由於80個字符對於最小編輯器窗口寬度來說是一個安全的假設,所以走得比這更長,它會在右邊緣上換行或消失,從而導致難以閱讀。就我個人而言,我假設我們有寬屏幕,但您需要最低限度。 – Schwern