我在研究时没有发现任何相关内容。我基本上试图将数组(例如[5, 1, 7 ,8]
)转换为具有值5178
的fixnum。
答案 0 :(得分:5)
[5, 1, 7 ,8].inject{|n, d| n * 10 + d}
# => 5178
比较
t = Time.now
100000.times do
[5, 1, 7 ,8].inject{|n, d| n * 10 + d}
end
Time.now - t # => 0.108719628
t = Time.now
100000.times do
[5, 1, 7, 8].join.to_i
end
Time.now - t # => 0.246565502
答案 1 :(得分:4)
执行以下操作:
=> [5, 1, 7 ,8].join.to_f
=> # 5178.0
这也有效:
=> [1,2,3,4].join.to_i
=> # 1234
答案 2 :(得分:1)
arr = [5, 1, 7 ,8]
arr.join.to_i