我在研究它时没有找到任何相关的东西。我基本上正在尝试将数组(例如[5, 1, 7 ,8]
)转换为值为 5178
的 fixnum .
执行以下操作:
=> [5, 1, 7 ,8].join.to_f
=> # 5178.0
这也行得通:
=> [1,2,3,4].join.to_i
=> # 1234
[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
arr = [5, 1, 7 ,8]
arr.join.to_i