簡體   English   中英

在Ruby中將數組的一部分轉換為子數組的其他方法?

[英]Other ways of converting part of array to subarray in Ruby?

解析CSV文件時,我需要將一行的字段合並到從第4個字段(第3個數組元素)開始的數組中。 我想像下面的示例中那樣操作每一行:原始數組:

array1 = [1,2,3,4,5]

更改數組:

array2 = [1,2,3,[4,5]]

我的代碼在這里:

array1[0..2].push(array1[3..array1.length])

=> [1, 2, 3, [4, 5]]

我的問題是:是否有更好/更干凈/更簡單的方法將數組的一部分轉換為子數組?

有! 您可以這樣做a = a[0..2] + [a[3..-1]] 在ruby中, +可用於連接數組。 此外, n..-1為您提供元素n到數組的末尾。 需要注意的是, +concat慢且昂貴,因此,如果要執行a[0..2].concat([a[3..-1]) ,它將更便宜且更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM