Ruby iterator
Dalam istilah sederhana: Iterasi (iterate) mengacu untuk mengulang hal yang sama, sehingga iterator (iterator) yang digunakan untuk mengulangi hal yang sama berkali-kali.
Iterator adalahkumpulandari metode yang didukung. Menyimpan sekumpulan objek data yang disebut anggota koleksi. Di Ruby, array (Array) dan hash (Hash) bisa disebut koleksi.
Iterator mengembalikan semua elemen dari koleksi, satu per satu. Di sini kita akan membahas duaiterator,masing-masing danmengumpulkan.
Rubysetiap iterator
setiap iterasi mengembalikan semua elemen dari sebuah array atau hash.
tatabahasa
collection.each do |variable| code end
eksekusikodeditetapkan untuk setiap elemen. Di sini, set dapat berupa array atau hash.
contoh
#!/usr/bin/ruby ary = [1,2,3,4,5] ary.each do |i| puts i end
Jalankan contoh di atas output:
1 2 3 4 5
setiapiterasi selalu dikaitkan dengan blok. Ini mengembalikan sebuah array nilai untuk setiap blok, satu demi satu. Nilai disimpan dalam variabeli, dan kemudian ditampilkan di layar.
Rubymengumpulkan iterator
mengumpulkaniterator kembali semua elemen dari koleksi.
tatabahasa
collection = collection.collect
Metodemengumpulkantidak perlu selalu dikaitkan dengan blok. Metodemengumpulkankembali seluruh koleksi, apakah itu sebuah array atau hash.
contoh
#!/usr/bin/ruby a = [1,2,3,4,5] b = Array.new b = a.collect{ |x|x } puts b
Jalankan contoh di atas output:
1 2 3 4 5
Catatan: mengumpulkan metode adalah bukan cara yang tepat untuk melakukan replikasi antar-array.Ada metodekloninglain yang disebut untuk menyalin array ke array yang lain.
Bila Anda ingin melakukan sesuatu untuk mendapatkan nilai untuk setiap array baru, Anda biasanya menggunakan metode mengumpulkan. Misalnya, kode berikut akan menghasilkan array yang nilainya adalah 10 kali lipat untuk setiap nilai.
#!/usr/bin/ruby a = [1,2,3,4,5] b = a.collect{|x| 10*x} puts b
Jalankan contoh di atas output:
10 20 30 40 50