在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]
这可能吗?谢谢:))
答案 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]