Friday, January 25, 2013

Aliasing

Definition
Apa itu Aliasing? Aliasing adalah suatu proses untuk meng-aliaskan suatu method. Nah, apa lagi tuh alias itu?

Alias itu kan dalam pengertian sehari-hari adalah nama lain. Sama juga di RGSS, alias di sini berarti memberikan nama lain kepada method. Lalu, buat apa gunanya? Jika kamu adalah seorang scripter, gunakan alias sebisa mungkin. Ini agar meningkatkan tingkat kompabilitas antar scriptmu dengan script orang lain.

Usage
Untuk mengerti lebih baik tentang alias, mari kita lihat contoh berikut :
def some_method
  p "This the first line."
  p "This is the second line."
end
Jika kita memanggil method some_method, maka akan memprint tulisan "This is the first line." dan kemudian "This is the second line.".

Lalu, suatu saat, kita ingin menambahkan suatu kode baru ke dalam method itu. Biasanya para scripter newbie yang belum mengetahui cara aliasing akan melakukan hal-hal berikut :

  • Edit langsung scriptnya. Jadinya langsung menambahkan. Banyak thread-thread script yang menyuruh user mengedit scriptnya sendiri.
  • Copy paste full scriptnya dan menambahkan. Atau sama saja seperti overwriting.

Dengan menggunakan alias, kita bisa membuat scripting menjadi lebih efisien. Karena alias hanya menambahkan, bukan menindih method yang lama. Walaupun begitu, tidak selamanya kita bisa memakai alias. Ada saatnya dimana kita memang harus overwriting script asli.

Kembali ke kode awal yang tadi. Jika kita menggunakan alias, kita sama saja menyimpan kode yang lama ke dalam suatu nama baru dan dapat dipanggil kembali tanpa mere-writenya.

Aliasing
Cara untuk melakukan alias biasanya seperti ini :
alias new_method old_method
def old_method
  new_method
  code
end
new_method adalah nama alias yang baru untuk old_method. Sedangkan code adalah kode yang ingin ditambahkan. Jika menggunakan format di atas, ini berarti kita menambahkan kode setelah old_method dijalankan.

Example
Bagaimana contoh pemakaiannya? Kita ambil contoh some_method di atas. Kita ingin menambahkan kode p "This is before the first line" sebelum p "This the first line." dan p "This is after the second line" setelah p "This is the second line.".
alias new_smethod some_method
def some_method
  p "This is before the first line."
  new_smethod
  p "This is after the second line."
end
Dengan demikian, jika dipanggil, maka akan mengeluarkan output seperti ini :
This is before the first line.
This the first line.
This the second line.
This is after the second line.

Another Way of Aliasing
Aliasing juga bisa dilakukan dengan beberapa cara, yaitu :
alias_method :new_method, :old_method
alias :new_method :old_method
Walaupun begitu, ada perbedaan dalam pemakaian alias_method dan alias. Kamu dapat membacanya di bagian reference.

Naming
Dalam penamaan alias, gunakanlah nama alias yang unik. Ini dikarenakan semakin simple nama alias, semakin besar kemungkinan dipakai oleh scripter lain.

Further Reading Recommendation & Reference
modern algebra - Aliasing
YanXie - Alias : What Is It & How To?
BigBinary.com - Alias vs Alias_method

0 comments: