Cara Membuat Array Multidimensi di Ruby

Cara Membuat Array Multidimensi di Ruby. Meskipun Ruby tidak menyediakan dukungan eksplisit untuk array multidimensi, Anda dapat mengimplementasikannya sendiri jika Anda memiliki pengetahuan dasar tentang bahasa tersebut. Anda pada dasarnya harus membuat "array of arrays" di mana setiap elemen array menyimpan array lain. Untuk membuat array multidimensi di Ruby, Anda dapat menulis metode yang digunakan untuk menghasilkan array array sehingga kode tidak harus diulang.

Buat Array Multidimensi di Ruby

Langkah 1

Tulis kerangka metodenya. Metode ini akan mengambil sejumlah argumen dimensi dan mengembalikan array multidimensi kosong dari dimensi tersebut. Misalnya, untuk larik 10x10, panggil metode ini mda (10,10):def mda (lebar, tinggi) end

Video Hari Ini

Langkah 2

Buat array elemen lebar.

Langkah 3

Buat array elemen tinggi untuk setiap elemen dalam array. Hal ini membuat "array of arrays" yang akan digunakan sebagai array dua dimensi. Untuk membuat array kosong dengan panjang tertentu, gunakan konstruktor Array.new dengan panjang sebagai argumen. Awalnya, semua nilai dalam array akan menjadi nihil.

Langkah 4

Gunakan peta! metode juga. Peta! metode mengulangi setiap elemen dalam array, menjalankan blok untuk setiap elemen dan memberikan hasil blok ke elemen array. Hasil yang sama dapat dicapai dengan menggunakan for loop, tetapi peta! metode lebih ringkas: def mda (lebar, tinggi) a = Array.new (lebar) a.map! { Array.new (tinggi) }kembali akhir

Langkah 5

Gunakan larik ini dengan operator subskrip (tanda kurung siku []). Misalnya, jika Anda memiliki larik 10x10 yang disebut "a" dan menginginkan elemen 7,3, Anda akan mengatakan a[7][3]: a = mda (10,10)# Isi array dengan nilaia[7][5] = "a string"a[2][9] = 23# Ambil nilaiput a[7][5]put a[2][9]

Langkah 6

Manfaatkan kemampuan untuk "merantai" panggilan metode di Ruby. Misalnya, metode Array.new mengembalikan sebuah array. Anda dapat menghubungkan panggilan metode lain ke itu untuk memanggil metode pada array yang dikembalikan. Karena Anda merangkai metode, dan tidak menggunakan pernyataan kembali, Anda juga tidak memerlukan nama variabel: def mda (lebar, tinggi) Array.new (lebar).peta!{ Array.new (tinggi) }end

Tip

Ruby sangat ekspresif. Metode MDA dapat berupa satu baris kode yang pendek dan ringkas. Baris dan kata kunci tambahan hanya membuat kode terlihat lebih rumit daripada yang sebenarnya. Pernyataan kembali tidak diperlukan di Ruby. Metode dan blok Ruby secara otomatis mengembalikan hasil pernyataan terakhir yang dieksekusi dalam metode atau blok.