我在研究时未能找到相关信息。我的基本目标是将一个数组转换为一个固定数字,例如 [5, 1, 7 ,8]
转换为值为 5178
的 fixnum。
我在研究时未能找到相关信息。我的基本目标是将一个数组转换为一个固定数字,例如 [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