我在研究它時未能找到任何相關內容。我bascially嘗試將一個數組,例如[5, 1, 7 ,8]
轉換爲fixnum將具有值5178
。Ruby將陣列轉換爲Fixnum
1
A
回答
4
[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
3
做如下:
=> [5, 1, 7 ,8].join.to_f
=> # 5178.0
這也是工作:
=> [1,2,3,4].join.to_i
=> # 1234
+0
哦,我明白了。我嘗試使用to_i,但我沒有方法錯誤。 – Bloodcount
1
arr = [5, 1, 7 ,8]
arr.join.to_i
+0
1.9.2-p320:011> arr = [5,1,7,8] => [5,1,7,8] 1.9.2-p320:012> arr.join.to_i => 5178 –
相關問題
- 1. 將Fixnum轉換爲ruby中的數組
- 2. ruby TypeError - 沒有將Fixnum隱式轉換爲String?
- 3. 將字符串轉換爲Float或Fixnum
- 4. 將矩陣轉換爲列
- 5. 將列轉換爲矩陣
- 6. 將矩陣轉換爲1維陣列
- 7. 將陣列轉換爲指標矩陣
- 8. 將陣列數組轉換爲矩陣
- 9. Ruby字符串不能被強制轉換爲Fixnum
- 10. 爲什麼Ruby將FixNum n散列爲2n + 1?
- 11. Ruby/Rails:將範圍轉換爲散列
- 12. Ruby將字符串轉換爲散列
- 13. Ruby RestClient將XML轉換爲散列
- 14. 將散列陣列轉換爲散列陣列
- 15. 將轉換矩陣轉換爲列表列表
- 16. 將4D陣列轉換爲圖像
- 17. 將3D陣列轉換爲3D模型
- 18. 將兩個列表轉換爲矩陣
- 19. 將表格列表轉換爲矩陣
- 20. 將平面陣列轉換爲多維
- 21. 將字符串轉換爲int陣列
- 22. sqlite3將數據轉換爲短陣列
- 23. 將陣列轉換爲正常顯示?
- 24. 將陣列轉換爲圖像
- 25. 將HTMLCollection轉換爲ID陣列
- 26. 將列表轉換爲稀疏矩陣
- 27. 將Nsmutable陣列轉換爲Mkannotation數組
- 28. 將列表轉換爲numpy矩陣
- 29. 將陣列轉換爲Netezza中的行
- 30. 將GLib.Array轉換爲內置陣列
魔法在哪裏?你能解釋爲什麼'注射'更快嗎? –
因爲它不會生成中間字符串。它直接在數字內進行計算。在我看來,計算其定義後的十進制數字要簡單得多,而不是將數字一次轉換爲字符串,然後將其解析爲數字。 – sawa
@sawa不錯的一個。謝謝 –