用兩個等長陣列建構 hash
@hash{@keys} = @values
參 http://stackoverflow.com/questions/16755642/perl-built-in-function-to-zipper-together-two-arrays
順便一提,很多時候我們都忘記了, list 和 array 是不同的資料結構。 list 是 literal ,不是一種變數的形態,只是我們經常以 list 來初始化 array (以及 hash )。
my %parataxis=(); #empty hash
my @parataxis=(); #empty array
但是如果初始化的是一個參考資料型態,不管是 hash 或 array ,都有各自的符號 {} / []
my $parataxis={}; #empty hash ref
my $parataxis=[]; #empty array ref
簡單迴圈以 map / grep 處理陣列,以 split / join / splice 處理字串
泛 C 程式語言經常以 { } 括號來表示一個 block ,但是無形中也產生了一、兩個很稀疏的冗行。 python 嘗試以縮排解決這個問題,效果滿不錯的。 perl 的話其實 map 就是一個迴圈,用得好的話可以讓程式很精簡…
將一個陣列插入到另一個陣列
參 https://perlmaven.com/how-to-insert-an-array-into-another-array-in-perl
可以分為兩種情況,扁平的或是層級的插入,主要以 splice 函數實作
圖片來源:https://hsto.org/getpro/habr/post_images/707/723/436/70772343650f66c353ad80a06d5272ca.jpg
沒有留言:
張貼留言