1

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

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

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

config是一个哈希。

4

2 回答 2

4

你可以这样做:

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

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

于 2012-12-07T08:39:04.177 回答
2
foo = "#{"bar." if config.include?(:bar)}baz"
于 2012-12-07T08:38:51.107 回答