我有以下帮助:
def results(grade, percent, date)
"#{grade} #{percent} , #{date}"
end
基本上我希望我的输出看起来像:
10 %, 12/12/2012
如果存在grade
,percent
和date
,则上述帮助程序正常工作。
但是,还有其他需要处理的方案。例如,如果grade
和percent
都为空,那么我会得到以下输出:
,12/12/2012
如果date
为空,则:
10 % ,
我可以做一堆if
/ else
语句并处理上述情况,但我想知道是否有更聪明的方法来处理这个问题?
在上述场景中,我不希望显示逗号。
答案 0 :(得分:1)
我头脑中的第一个就是把它分成一个阵列。对于第一部分,我将使用lstrip
删除之前和之后的空格,然后使用日期加入。
def results(amount, unit, date)
["#{amount} #{unit}".lstrip , date].reject(&:blank?).join(', ')
end