irb > name = "john"
irb > puts "Hello, #{name}"
Hello, john
irb > name = "alfian"
irb > puts "Hello, #{name}"
Hello, alfian
irb > name = "jeff"
irb > puts "Hello, #{name}"
Hello, jeff
Praktik tersebut sangat disarankan untuk dihindari oleh para programmer berpengalaman agar tidak mengakibatkan kode anda menjadi sangat panjang tetapi sebenarnya hanya memiliki fungsi yang sama. Pendekatan ini sering disebut dengan DRY (Don't repeat Yourself). Salah satu pendekatan dalam menghadapi DRY ini adalah menggunakan method/procedures/function.
Di dalam Ruby, method dideklarasikan menggunakan kata kunci def dan diakhiri dengan kata kunci end
def greeting
end
Di dalam blok method tersebut kita dapat menuliskan syntax yang kita inginkan begitu method tersebut dipanggil
def greeting
puts "hello"
end
irb > greeting
hello
Method dapat dipanggil dengan menggunakan nama dari method tersebut, setelah method dipanggil, maka Ruby akan menjalankan syntax yang ada didalam method tersebut. Untuk penamaan method, konvensi dari Ruby menyarankan untuk mengawali dengan huruf kecil. Untuk method yang memiliki 2 kata seperti say hello dapat ditulis menggunakan underscore, say_hello.
Sebuah method dapat menerima argumen berupa variabel yang dapat dipanggil di dalam method tersebut
def greeting(name)
puts "Hello #{name}"
end
irb > name = "alfian"
irb > greeting(name)
Hello alfian
irb > greeting("john")
Hello john
irb > greeting("tom")
Hello tom
Jumlah argumen yang dapat anda deklarasikan dalam variabel adalah sesuai dengan keinginan dan kebutuhan anda.
Salah satu keunikan dari Ruby adalah default parameter, dimana method dapat dijalankan dengan tidak memberikan argumen pada saat method dipanggil, dan method akan menggunakan parameter awal saat method tersebut dibuat.
def greeting(name, greet="hello")
puts "#{greet} #{name}"
end
irb > name = "alfian"
irb > greeting("alfian")
hello alfian
irb > greeting("alfian", "gracias")
gracias alfian
Ingat bahwa hanya argumen yang anda berikan default parameter saja yang dapat anda tidak berikan literal, jadi
irb > greeting
ArgumentError: wrong number of arguments (0 for 1)
Akan mengakibatkan error pada intrepreter, karena salah satu parameter wajib anda berikan kedalam method.
Tidak ada komentar:
Posting Komentar