Ruby 如果参数不是nil,则编写字符串;如果参数是nil,则返回nil

Ruby 如果参数不是nil,则编写字符串;如果参数是nil,则返回nil,ruby,Ruby,有没有更优雅的方法 def my_method1(options={}) (options[:age]) ? "my string #{options[:age]}" : nil end def my_method2(options={}) (options[:age]) ? "my string #{options[:age]}" : "" end options[:age]是否会false?将options[:age]是否会false?将options[:age]是否会optio

有没有更优雅的方法

def my_method1(options={})
  (options[:age]) ? "my string #{options[:age]}" : nil
end

def my_method2(options={})
  (options[:age]) ? "my string #{options[:age]}" : ""
end

options[:age]
是否会
false
?将
options[:age]
是否会
false
?将
options[:age]
是否会
options[:age]
是否会
false
def my_method1(options={})
  "my string #{options[:age]}" if options[:age]
end

def my_method2(options={})
  my_method1(options).to_s
end
def my_method1(options={})
  oa = options[:age]
  oa.nil? ? nil : "my string #{oa}"
end

def my_method2(options={})
  oa = options[:age]
  oa.nil? ? '' : "my string #{oa}"
end