有没有办法在 Ruby 中轻松生成这个数组?
[[-5,'-5'],[-4,'-4'],[-3,'-3'],[-2,'-2'],[-1,'-1'],[1,'1'],[2,'2'],[3,'3'],[4,'4'],[5,'5']]
基本上,它包含从 -5 到 5 的 10 个元素,带有一个整数键和字符串值。
有没有办法在 Ruby 中轻松生成这个数组?
[[-5,'-5'],[-4,'-4'],[-3,'-3'],[-2,'-2'],[-1,'-1'],[1,'1'],[2,'2'],[3,'3'],[4,'4'],[5,'5']]
基本上,它包含从 -5 到 5 的 10 个元素,带有一个整数键和字符串值。
(-5..5).map{ |i| [i, i.to_s] }
doster 指出规范不包括0
,其中任何一个都可以:
(-5..5).reject{ |i| i == 0 }.map{ |i| [i, i.to_s] }
(-5..5).reject(&:zero?).map{ |i| [i, i.to_s] }
(-5..5).map{ |i| [i, i.to_s] unless i == 0 }.compact
(-5..5).map{ |i| [i, i.to_s] unless i.zero? }.compact
((-5..-1).to_a + (1..5).to_a).map { |i| [i, i.to_s] }