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