如果前缀不为空,则为字符串添加前缀的简明方法

时间:2012-12-07 08:37:19

标签: ruby

是否有更短的方式来执行以下操作?

foo = 
  config.include?(:bar) ?
    "#{bar}.baz" :
    "baz"

如果变量存在(假设它是一个字符串),我正在寻找一个可读的单行程序,它附加一个变量和一个分隔符。

config是哈希。

2 个答案:

答案 0 :(得分:4)

你可以这样做:

foo = [bar, 'baz'].compact.join('.')

如果bar为零,则compact会将其从数组中删除,并且不会添加分隔符。

答案 1 :(得分:2)

foo = "#{"bar." if config.include?(:bar)}baz"