【发布时间】:2011-05-14 06:26:21
【问题描述】:
条件运算符 (? :) 在 Ruby 中是如何使用的?
例如,这是正确的吗?
<% question = question.size > 20 ? question.question.slice(0, 20)+"..." : question.question %>
【问题讨论】:
-
是的,我认为,但我也认为您可以通过以下方式实现:
question=question[0,20]如果它小于 20,它不会改变它。 -
如果长度大于 20,我还需要添加一个 '...'
-
小心在给定列中盲目地截断一行。您最终可以在中途删掉一个单词,然后附加省略号('...'),这看起来很糟糕。相反,寻找附近的标点符号或空白字符,并在此处截断。只有当附近没有更好的断点时,才应该截断中间词。
标签: ruby ternary-operator conditional-operator