Ruby - Metode
Metode Ruby sangat mirip dengan fungsi dalam bahasa pemrograman lainnya. Metode Ruby digunakan untuk menggabungkan satu atau lebih pernyataan berulang ke dalam satu unit.
Nama metode harus dimulai dengan huruf kecil. Jika Anda memulai nama metode dengan huruf besar, Ruby mungkin berpikir bahwa itu adalah konstanta dan karenanya dapat mengurai panggilan dengan tidak benar.
Metode harus ditentukan sebelum memanggilnya, jika tidak Ruby akan memunculkan pengecualian untuk pemanggilan metode yang tidak ditentukan.
Sintaksis
def method_name [( [arg [= default]]...[, * arg [, &expr ]])]
expr..
end
Jadi, Anda dapat menentukan metode sederhana sebagai berikut -
def method_name
expr..
end
Anda dapat mewakili metode yang menerima parameter seperti ini -
def method_name (var1, var2)
expr..
end
Anda dapat mengatur nilai default untuk parameter, yang akan digunakan jika metode dipanggil tanpa melewatkan parameter yang diperlukan -
def method_name (var1 = value1, var2 = value2)
expr..
end
Setiap kali Anda memanggil metode sederhana, Anda hanya menulis nama metode sebagai berikut -
method_name
Namun, saat Anda memanggil metode dengan parameter, Anda menulis nama metode bersama dengan parameter, seperti -
method_name 25, 30
Kelemahan terpenting dalam menggunakan metode dengan parameter adalah Anda perlu mengingat jumlah parameter setiap kali Anda memanggil metode tersebut. Misalnya, jika suatu metode menerima tiga parameter dan Anda hanya memberikan dua parameter, maka Ruby akan menampilkan kesalahan.
Contoh
#!/usr/bin/ruby
def test(a1 = "Ruby", a2 = "Perl")
puts "The programming language is #{a1}"
puts "The programming language is #{a2}"
end
test "C", "C++"
test
Ini akan menghasilkan hasil sebagai berikut -
The programming language is C
The programming language is C++
The programming language is Ruby
The programming language is Perl
Kembalikan Nilai dari Metode
Setiap metode di Ruby mengembalikan nilai secara default. Nilai yang dikembalikan ini akan menjadi nilai pernyataan terakhir. Misalnya -
def test
i = 100
j = 10
k = 0
end
Metode ini, ketika dipanggil, akan mengembalikan variabel terakhir yang dideklarasikan k .
Pernyataan pengembalian Ruby
The kembali pernyataan dalam ruby digunakan untuk mengembalikan satu atau lebih nilai dari Metode Ruby.
Sintaksis
return [expr[`,' expr...]]
Jika lebih dari dua ekspresi diberikan, array yang berisi nilai-nilai ini akan menjadi nilai yang dikembalikan. Jika tidak ada ekspresi yang diberikan, nil akan menjadi nilai yang dikembalikan.
Contoh
return
OR
return 12
OR
return 1,2,3
Lihat contoh ini -
#!/usr/bin/ruby
def test
i = 100
j = 200
k = 300
return i, j, k
end
var = test
puts var
Ini akan menghasilkan hasil sebagai berikut -
100
200
300
Variabel Jumlah Parameter
Misalkan Anda mendeklarasikan metode yang mengambil dua parameter, setiap kali Anda memanggil metode ini, Anda perlu meneruskan dua parameter bersamanya.
Namun, Ruby memungkinkan Anda untuk mendeklarasikan metode yang bekerja dengan sejumlah variabel parameter. Mari kita periksa contoh ini -
#!/usr/bin/ruby
def sample (*test)
puts "The number of parameters is #{test.length}"
for i in 0...test.length
puts "The parameters are #{test[i]}"
end
end
sample "Zara", "6", "F"
sample "Mac", "36", "M", "MCA"
Dalam kode ini, Anda telah mendeklarasikan sampel metode yang menerima satu pengujian parameter. Namun, parameter ini adalah parameter variabel. Ini berarti bahwa parameter ini dapat menerima sejumlah variabel. Jadi, kode diatas akan menghasilkan hasil sebagai berikut -
The number of parameters is 3
The parameters are Zara
The parameters are 6
The parameters are F
The number of parameters is 4
The parameters are Mac
The parameters are 36
The parameters are M
The parameters are MCA
Metode Kelas
Ketika metode didefinisikan di luar definisi kelas, metode tersebut ditandai sebagai pribadi secara default. Di sisi lain, metode yang ditentukan dalam definisi kelas ditandai sebagai publik secara default. Visibilitas default dan tanda privat dari metode dapat diubah oleh publik atau privat Modul.
Kapan pun Anda ingin mengakses metode kelas, Anda harus membuat instance kelas terlebih dahulu. Kemudian, dengan menggunakan objek tersebut, Anda dapat mengakses setiap anggota kelas.
Ruby memberi Anda cara untuk mengakses metode tanpa membuat instance kelas. Mari kita lihat bagaimana metode kelas dideklarasikan dan diakses -
class Accounts
def reading_charge
end
def Accounts.return_date
end
end
Lihat bagaimana metode return_date dideklarasikan. Itu dideklarasikan dengan nama kelas diikuti dengan titik, yang diikuti dengan nama metode. Anda dapat mengakses metode kelas ini secara langsung sebagai berikut -
Accounts.return_date
Untuk mengakses metode ini, Anda tidak perlu membuat objek dari akun kelas.
Pernyataan alias Ruby
Ini memberi alias ke metode atau variabel global. Alias tidak dapat didefinisikan dalam badan metode. Alias dari metode tersebut menyimpan definisi metode saat ini, bahkan ketika metode diganti.
Dilarang membuat alias untuk variabel global bernomor ($ 1, $ 2, ...). Mengganti variabel global bawaan dapat menyebabkan masalah serius.
Sintaksis
alias method-name method-name
alias global-variable-name global-variable-name
Contoh
alias foo bar
alias $MATCH $&
Di sini kami telah mendefinisikan foo alias untuk bar, dan $ MATCH adalah alias untuk $ &
Pernyataan Ruby undef
Ini membatalkan definisi metode. Sebuah undef tidak bisa muncul di badan metode.
Dengan menggunakan undef dan alias , antarmuka kelas dapat dimodifikasi secara independen dari superclass, tetapi perhatikan bahwa program mungkin rusak dengan pemanggilan metode internal ke diri sendiri.
Sintaksis
undef method-name
Contoh
Untuk tidak mendefinisikan metode yang disebut bar lakukan hal berikut -
undef bar