Euforia - Fungsi

Fungsi euforia sama seperti prosedur, tetapi mengembalikan nilai, dan dapat digunakan dalam ekspresi. Bab ini menjelaskan cara menulis fungsi Anda sendiri di Euforia.

Definisi Fungsi

Sebelum kita menggunakan suatu fungsi, kita perlu mendefinisikannya. Cara paling umum untuk menentukan fungsi di Euphoria adalah dengan menggunakanfunction kata kunci, diikuti dengan nama fungsi unik, daftar parameter (yang mungkin kosong), dan blok pernyataan yang diakhiri dengan end functionpernyataan. Sintaks dasar ditampilkan di sini -

function functionname(parameter-list)

   statements
   ..........
   return [Euphoria Object]

end function

Contoh

Fungsi sederhana bernama sayHello yang tidak menggunakan parameter ditentukan di sini -

function sayHello()
   puts(1, "Hello there")
   return 1
end function

Memanggil Fungsi

Untuk memanggil suatu fungsi di suatu tempat nanti dalam skrip, Anda hanya perlu menulis nama fungsi itu sebagai berikut -

#!/home/euphoria-4.0b2/bin/eui

function sayHello()
   puts(1, "Hello there")
   return 1
end function

-- Call above defined function.
sayHello()

Ini menghasilkan hasil sebagai berikut -

Hello there

Parameter Fungsi

Sampai sekarang kita telah melihat fungsi tanpa parameter. Tetapi ada fasilitas untuk melewatkan parameter yang berbeda saat memanggil suatu fungsi. Parameter yang diteruskan ini dapat ditangkap di dalam fungsi dan manipulasi apa pun dapat dilakukan atas parameter tersebut.

Suatu fungsi dapat mengambil beberapa parameter yang dipisahkan dengan koma.

Contoh

Mari kita lakukan sedikit modifikasi pada fungsi sayHello kita . Kali ini dibutuhkan dua parameter -

#!/home/euphoria-4.0b2/bin/eui

function sayHello(sequence name,atom  age)
   printf(1, "%s is %d years old.", {name, age})
   return 1
end function

-- Call above defined function.
sayHello("zara", 8)

Ini menghasilkan hasil sebagai berikut -

zara is 8 years old.

The pengembalian Pernyataan

Fungsi Euphoria harus memiliki pernyataan kembali sebelum pernyataan penutupend function. Objek Euphoria apa pun dapat dikembalikan. Akibatnya, Anda dapat memiliki beberapa nilai pengembalian, dengan mengembalikan urutan objek. Sebagai contoh

return {x_pos, y_pos}

Jika Anda tidak memiliki apa-apa untuk dikembalikan, maka cukup kembalikan 1 atau 0. Nilai kembali 1 menunjukkan keberhasilan dan 0 menunjukkan kegagalan