Konon
Ruby menganut konsep
duck typing. Apa itu
duck typing? Sebelumnya, istilah duck type berasal dari istilah
duck test yang bunyinya kira-kira : "
if it looks like a duck, walks like a duck and quacks like a duck, it must be a duck " . Sebenarnya
duck typing adalah nama lain dari
dynamic typing. Dimana kita tidak perlu mendeklarasikan tipe variabel yang kita pakai (
static typing). Contoh static typing kira kira seperti ini (dalam Java) :
..
String halo="Apa kabar Dendi?";
System.out.println(halo);
..
Sedangkan
duck typing kira-kira seperti ini (dalam ruby tentu saja ;-p ) :
halo="Apa Kabar Dendi?"
puts halo
Tanpa perlu mendeklarasikan tipe dari variabel halo, Ruby telah mengenal halo sebagai String (an array of char) karena halo memiliki sifat seperti String dan bertingkah laku seperti String. Oh ya, kedua kode diatas menghasilkan keluaran yang sama tentu saja, yaitu tulisan Apa Kabar Dendi (versi narsis dari Hello World ;-p) di layar monitor.
So, if you walk like a duck an quack like a duck, you must be a duck!! :-p