skip to:

masputih.com

28 August 2007 in ActionScript 3, Resep | permalink

Menangani Unknown Parameter

Dalam memanggil sebuah function berparameter kita harus mengirimkan pula argumen yang diperlukan. Namun, bagaimana jika kita ingin mengirim argumen yang banyaknya tidak terbatas atau tidak kita ketahui sebelumnya?

AS3 memberi kemudahan dalam penanganan parameter secara dinamis melalui parameter … (rest). Formatnya kurang lebih seperti ini :

function namaFunction(…argumentsArray){}

argumentsArray adalah array yang dibuat secara otomatis dari argumen yang dikirimkan ke function yang bersangkutan. Argumen paling kiri menjadi elemen pertama dari array tersebut.

Sebagai contoh, berikut ini function yang menghitung jumlah dari bilangan yang dikirimkan sebagai argumen:

Actionscript:
  1. calculate(1,2,3,4,5);
  2. calculate(1,2,3,4,5,6,7);
  3. function calculate(...numbers){
  4.     var total:Number = 0;
  5.     for(var i in numbers){
  6.         total += numbers[i];
  7.     }
  8.    trace(total);
  9. }

Outputnya adalah:

15
28

Parameter …(rest) juga bisa dikombinasikan dengan parameter bernama ( named parameters ). Kita coba dengan contoh yang sama dengan di atas:

Actionscript:
  1. calculate("Deret pertama:",1,2,3,4,5);
  2. calculate("Deret kedua: ", 1,2,3,4,5,6,7);
  3. function calculate(s:String, ...numbers){
  4.     var total:Number = 0;
  5.     for(var i in numbers){
  6.         total += numbers[i];
  7.     }
  8.    trace(s+total);
  9. }

Outputnya adalah:

Deret Pertama: 15
Deret Kedua: 28

Jadi, parameter …(rest) memungkinkan kita membuat function yang fleksibel.

Sip, kan? :-)

Comments [2]

1. aji , 448 days ago #

jelas sip dong mas :D

ternyata bisa juga ya yang dipilih hanya number saja dari deret parameter gabungan seperti itu :)
sip.

2. heri , 419 days ago #

masputih, anda memang hebat. terus berkarya untuk bangsa ini ya mas dengan flash mx.saya ucapkan thank you very much karna udah memberikan gambaran tentang membuat contoh pemrograman secara matematis sehingga mendukung penyelesaian tugas akhir saya.

Commenting is closed for this article.