Latest web development tutorials

metode Ruby

Metode ruby ​​mirip dengan fungsi bahasa pemrograman lainnya. Metode ruby ​​untuk bundling satu atau lebih pernyataan duplikat ke dalam satu unit.

Nama metode harus dimulai dengan huruf kecil. Jika Anda berada di huruf besar sebagai awal dari nama metode, Ruby mungkin akan menggunakannya sebagai konstan, sehingga tidak benar mengurai menelepon.

Sebelum memanggil metode harus didefinisikan jika tidak, Ruby akan menghasilkan terdefinisi pengecualian metode panggilan.

tatabahasa

def method_name [( [arg [= default]]...[, * arg [, &expr ]])]
   expr..
end

Jadi, Anda dapat menentukan metode sederhana, sebagai berikut:

def method_name 
   expr..
end

Anda dapat mendefinisikan sebuah metode untuk menerima parameter, sebagai berikut:

def method_name (var1, var2)
   expr..
end

Anda dapat mengatur nilai default untuk parameter, parameter tidak diperlukan untuk lulus nilai default jika metode panggilan:

def method_name (var1=value1, var2=value2)
   expr..
end

Bila Anda ingin memanggil metode, hanya menggunakan nama metode, seperti yang ditunjukkan di bawah ini:

method_name

Namun, ketika Anda memanggil metode dengan parameter, parameter yang harus Anda ambil ketika menulis nama metode, misalnya:

method_name 25, 30

Metode menggunakan parameter kelemahan terbesar adalah kebutuhan untuk mengingat jumlah parameter saat memanggil metode. Misalnya, jika Anda adalah salah satu yang menerima metode tiga parameter hanya melewati dua argumen, Ruby akan menampilkan kesalahan.

contoh

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

def test(a1="Ruby", a2="Perl")
   puts "编程语言为 #{a1}"
   puts "编程语言为 #{a2}"
end
test "C", "C++"
test

Jalankan contoh di atas output:

编程语言为 C
编程语言为 C++
编程语言为 Ruby
编程语言为 Perl

Nilai kembali dari metode

Ruby setiap metode mengembalikan nilai default. Nilai ini adalah nilai yang dikembalikan oleh pernyataan terakhir. Sebagai contoh:

def test
   i = 100
   j = 10
   k = 0
end

Saat memanggil metode ini akan kembali deklarasi akhir dari k variabel.

pernyataan kembaliRuby

Ruby di pernyataankembalidigunakan untuk mengembalikan satu atau lebih nilai dari sebuah metode ruby.

tatabahasa

return [expr[`,' expr...]]

Jika lebih dari dua ekspresi diberikan array yang berisi nilai-nilai ini akan menjadi nilai kembali. Jika tidak ada ekspresi yang diberikan, nil akan menjadi nilai kembali.

contoh

return

或

return 12

或

return 1,2,3

Perhatikan contoh berikut:

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

def test
   i = 100
   j = 200
   k = 300
return i, j, k
end
var = test
puts var

Jalankan contoh di atas output:

100
200
300

variabel jumlah argumen

Katakanlah Anda menyatakan metode yang mengambil dua argumen, ketika Anda memanggil metode ini, Anda juga harus lulus dua parameter.

Namun, Ruby memungkinkan Anda untuk menyatakan sejumlah variabel parameter. Mari kita lihat contoh berikut:

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

def sample (*test)
   puts "参数个数为 #{test.length}"
   for i in 0...test.length
      puts "参数值为 #{test[i]}"
   end
end
sample "Zara", "6", "F"
sample "Mac", "36", "M", "MCA"

Dalam kode ini, Anda telah menyatakan metode sampel, menerima tes parameter. Namun, parameter ini adalah parameter variabel. Ini berarti bahwa parameter dapat diberikan dengan nomor yang berbeda dari variabel. Jalankan contoh di atas output:

参数个数为 3
参数值为 Zara
参数值为 6
参数值为 F
参数个数为 4
参数值为 Mac
参数值为 36
参数值为 M
参数值为 MCA

metode kelas

Ketika eksternal, metode metode yang didefinisikan dalam standar kelas ditandai sebagaipribadi.Di sisi lain, jika metode yang didefinisikan di kelas, default ditandai sebagai publik.

Metode default visibilitas dan tagpribadidapat diubah melalui modul (Modul) didepan umumatauswasta.

Bila Anda ingin mengakses metode kelas, Anda harus terlebih dahulu instantiate kelas. Kemudian, menggunakan objek, Anda dapat mengakses setiap anggota kelas.

Ruby menyediakan cara untuk mengakses tanpa metode Instansiasi. Mari kita lihat bagaimana cara mendeklarasikan dan mengakses metode kelas:

class Accounts
   def reading_charge
   end
   def Accounts.return_date
   end
end

Kami sudah tahu bagaimana pernyataan metode RETURN_DATE. Hal ini setelah nama kelas diikuti oleh sebuah titik, diikuti dengan nama metode setelah dot untuk deklarasi. Anda dapat langsung mengakses metode kelas sebagai berikut:

Accounts.return_date

Untuk mengakses metode ini, Anda tidak perlu membuat Account kelas objek.

Pernyataan aliasRuby

Pernyataan ini digunakan sebagai metode atau variabel global dari alias. Alias ​​tidak dapat didefinisikan dalam metode tubuh. Bahkan jika metode ini diganti, metode alias juga mempertahankan definisi saat metode ini.

Jumlah variabel global ($ 1, $ 2, ...) dari alias dilarang. Menulis ulang built-in variabel global dapat menyebabkan masalah serius.

tatabahasa

alias 方法名 方法名
alias 全局变量 全局变量

contoh

alias foo bar
alias $MATCH $&

Di sini, kita telah mendefinisikan alias untuk foo ke bar, untuk menentukan alias untuk $ & $ MATCH.

PernyataanRubyundef

Pernyataan ini digunakan untuk membatalkan definisi metode.undeftidak dapat muncul dalam metode tubuh.

Dengan menggunakanundefdanalias,antarmuka kelas dapat dimodifikasi secara independen dari kelas induk, tetapi harap dicatat bahwa ketika metode internal sendiri menyebut, hal itu dapat merusak program.

tatabahasa

undef 方法名

contoh

Contoh-contoh berikut dibatalkan bernama definisi metodebar:

undef bar