-2

我有以下帮手:

def results(grade, percent, date)
  "#{grade} #{percent} , #{date}"
end

基本上我希望我的输出看起来像:

10 %, 12/12/2012

如果和存在grade,上述助手工作正常。percentdate

但是,还有其他情况需要处理。例如,如果gradepercent都是空的,那么我会得到以下输出:

,12/12/2012

如果date为空,则:

10 % ,

我可以做一堆if/else语句来处理上述情况,但我想知道是否有更聪明的方法来处理这个问题?

在上述情况下,我不希望显示逗号。

4

1 回答 1

1

我想到的第一个是将它拆分成一个数组。对于第一部分,我将使用lstrip删除前后的空格,然后加入日期。

def results(amount, unit, date)
  ["#{amount} #{unit}".lstrip , date].reject(&:blank?).join(', ')
end
于 2013-07-22T15:34:01.403 回答