Ruby Splat Operator

Sesuatu yang bersifat dasar atau fundamental adalah penting tetapi justru hal-hal yang mendasar sering kali terabaikan. Yang seperti ini lumayan bisa dimaklumi dalam programming sekarang ini karena yang sifatnya dasar seringkali terabaikan akibat tipikal kebutuhan yang tidak membutuhkan hal dasar itu atau hal dasar yang dimaksud sudah dibuat enak oleh teknologi yang kita gunakan.

Argumen pertama yang berbunyi “akibat tipikal kebutuhan yang tidak membutuhkan hal dasar” maksudnya adalah kalau tipikal pekerjaan berkutat membuat aplikasi CRUD maka hal dasar seperti memahami berbagai macam algoritma sorting tidak akan berpengaruh banyak. Paham atau tidak paham, seseorang masih bisa membuat aplikasi CRUD. Dan aplikasi jenis ini kan yang memang banyak dikerjakan?

Argumen kedua “dibuat enak oleh teknologi yang digunakan“. Dengan contoh algoritma sorting yang sama, tahu atau tidak tahu, kita bisa kok mengurutkan sebuah array berisi angka menggunakan fitur yang sudah disediakan oleh teknologi yang kita gunakan. Misal contoh menggunakan Ruby.

Saya nulis panjang lebar buat intro sebenarnya hanyalah mau bilang kalau di Ruby ada operator yang namanya splat dan ini sifatnya dasar tetapi kemarin-kemarin justru saya belum memahaminya hahaha. Karena sekarang sudah paham maka saya mau berbagi tentang operator yang satu ini.

Splat Operator

Operator ini bisa dikenali dengan penggunaan tanda *. Splat bisa dimanfaatkan saat kita membuat method yang memiliki jumlah parameter yang tidak menentu, bisa kadang 2, 3 dan lainnya. Contohnya pemanggilan method di bawah ini.

Bagaimana bentuk dari method add itu sendiri kalau jumlah parameter yang dimasukkan pada pemanggilan di atas bisa 3, 4 dan bahkan 5 (tidak memiliki jumlah tetap) ?

Agak susah membayangkan kalau belum tahu keberadaan operator splat. Dengan memanfaatkannya maka bentuk method add adalah serupa ini.

Perhatikan dengan seksama bahwa parameter yang ada didahului dengan tanda *, ini artinya adalah splat digunakan. Kemudian di dalamnya bisa dilihat pemanggilan numbers.each yang berarti variabel numbers adalah enumerable, dalam hal ini array. Untuk membuktikannya bisa dengan cara seperti ini.

Oke paham, lalu apakah beneran ada method yang memiliki parameter berupa splat?. Ada, bahkan Ruby sendiri memanfaatkannya pada saat kita membuat sebuah objek baru dari suatu kelas. Untuk penjelasan yang ini akan saya tulis pada artikel lain.

Memecah Array

Selain bisa digunakan sebagaimana sudah saya tunjutkkan di atas, splat juga bisa digunakan untuk memecah array lho. Contohnya kita punya method add dengan 2 parameter seperti ini.

Dengan bantuan splat kita bisa menggunakan array sebagai parameter method add ini seperti ini.

Ajaib kan ? ?

Tidak cukup sampai di situ perkara memecah array menggunakan splat. Kode di bawah ini adalah valid untuk memecah array.

Sampai jumpa di tulisan saya selanjutnya tentang proses inisialisasi objek di Ruby yang memanfaatkan penggunakan operator splat ini.

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *