如何使用百分比表示法在ruby中创建一个整数数组?

时间:2016-06-16 21:48:12

标签: arrays ruby

在ruby中,您可以使用百分比表示法轻松创建字符串数组:

[14] pry(main)> %w(some cats ran far)
=> ["some", "cats", "ran", "far"]

使用another post中的方法,我能够使用百分比表示法创建一个字符串数组,然后将它们转换为Fixnums:

[15] pry(main)> %w(1 2 3).map(&:to_i)
=> [1, 2, 3]

但我真的希望能够做一些像

这样的事情
%i(1 2 3) #=> [1 2 3]

这可能吗?谢谢:))

3 个答案:

答案 0 :(得分:3)

正如克雷姆诺所说,不,这是不可能的。

如果你想要严格的整数范围,例如1到10,最好的方法是

(1..10).to_a
# => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

但如果你想指定完全整数,我会这样做

%w(1 5 10).map{|i| i.to_i}
# => [1, 5, 10]

但是那时我不知道你为什么不直接这样做......

[1, 5, 10]

答案 1 :(得分:0)

嗯,你可以这样做。

%i(1 2 3).map(&:to_s).map { |i| Integer(i) } #=> [1, 2, 3]

答案 2 :(得分:0)

使用范围似乎可能是最简单的:

[26] pry(main)> (1..3).to_a
=> [1, 2, 3]