帮我摆脱空间“”

时间:2011-04-20 12:02:25

标签: ruby

def name
  @name || "#{self.first_name} #{self.last_name}"
end

如果名字和姓氏都是空名,则为空格“”。如何重写右侧,因此它是一个空字符串“”而不是空格“”?

2 个答案:

答案 0 :(得分:7)

您最后可以添加.strip

>> ln = 'last' #=> "last"
>> fn = 'first' #=> "first"
>> "#{fn} #{ln}".strip #=> "first last"
>> fn = nil #=> nil
>> ln = nil #=> nil
>> "#{fn} #{ln}".strip #=> ""

答案 1 :(得分:6)

def name
  @name ||= [first_name, last_name].compact * " "
end

此解决方案的优点是,如果名称为nil,则在一般情况下(即任意数量的字符串)都不包括尾随或前导空格。< / p>