Ruby 三元运算符

Ruby 三元运算符,ruby,conditional-operator,Ruby,Conditional Operator,我有一个数组d=['foo'、'bar'、'baz'],我想把它的元素组合成一个字符串,在最后一个元素处用、和分隔,这样它就会变成foo、bar和baz 以下是我想做的: s = '' d.each_with_index { |x,i| s << x s << i < d.length - 1? i == d.length - 2 ? ' and ' : ', ' : '' } s='' d、 每个_都有_索引{x,i| s您只是缺少一些括号: d

我有一个数组
d=['foo'、'bar'、'baz']
,我想把它的元素组合成一个字符串,在最后一个元素处用
分隔,这样它就会变成
foo、bar和baz

以下是我想做的:

s = ''
d.each_with_index { |x,i|
  s << x
  s << i < d.length - 1? i == d.length - 2 ? ' and ' : ', ' : ''
}
s=''
d、 每个_都有_索引{x,i|

s您只是缺少一些括号:

    d = ['foo', 'bar', 'baz']
    s = ''
    d.each_with_index { |x,i|
      s << x
      s << (i < d.length - 1? (i == d.length - 2 ? ' and ' : ', ') : '')
    }
d=['foo','bar','baz']
s=“”
d、 每个_都有_索引{x,i|

s您只是缺少一些括号:

    d = ['foo', 'bar', 'baz']
    s = ''
    d.each_with_index { |x,i|
      s << x
      s << (i < d.length - 1? (i == d.length - 2 ? ' and ' : ', ') : '')
    }
d=['foo','bar','baz']
s=“”
d、 每个_都有_索引{x,i|
我会发现

s << i < d.length - 1? i == d.length - 2 ? ' and ' : ', ' : ''

我会找到的

s << i < d.length - 1? i == d.length - 2 ? ' and ' : ', ' : ''


这样简单得多:

"#{d[0...-1].join(", ")} and #{d.last}"

这样简单得多:

"#{d[0...-1].join(", ")} and #{d.last}"

谢谢。但是为什么我需要带
的括号谢谢你们两位。:)谢谢。但是为什么我需要带
的括号谢谢你们两位。:)