Yukihiro "Matz" Matsumoto

Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run fast. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
Yukihiro "Matz" Matsumoto, Creator of Ruby

Selasa, 07 Oktober 2014

Dasar Method/Function/Procedures Dalam Ruby

Didalam membuat suatu program seringkali kita membuat kode yang memiliki fungsi yang sama sehingga mengakibatkan kode yang kita buat menjadi panjang dan terlihat sama dan berulang-ulang.

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