在下面的示例中,middle_name
是可选的。任何没有middle_name
的名称都需要额外的空格。请任何人按照方法进行修正。
def name
"#{first_name} #{middle_name} #{last_name}".titleize
end
答案 0 :(得分:10)
你可以试试这个:
def name
[first_name, middle_name, last_name].select(&:present?).join(' ').titleize
end
答案 1 :(得分:3)
改为使用
def name
[first_name, middle_name, last_name].reject(&:blank?).join(' ').titleize
end
答案 2 :(得分:0)
def name
"#{first_name} #{middle_name}#{" " if middle_name.present?}#{last_name}".titleize
end
答案 3 :(得分:0)
此保护措施和格式:(例如)=> Scott, Michael G
def full_name
return if last_name.blank? && first_name.blank?
["#{last_name}, #{first_name}", middle_initial, suffix].select(&:present?).join(' ').titleize
end
答案 4 :(得分:-1)
承包中间名:
def formatted_name(full_name)
parts = full_name.split
name = parts.first
name += " #{parts[1][0,1].upcase}. " if parts.length > 2
name += " #{parts[2][0,1].upcase}. " if parts.length > 3
name += parts.last
end
puts formatted_name("Bob Alan Faria Stwart") => "Bob A. F. Stwart"