Lebih
memanggil metode lain di super class di ruby
kelas A def yang menempatkan 'di #a' end endkelas B < A def yang b() end def b
di sini saya ingin memanggil#a.
end end
47
3
Ada's tidak ada cara yang baik untuk melakukannya, tetapi anda dapat melakukan
A. instance_method(:a).bind(mandiri).panggilan
, yang akan bekerja, tapi jelek.Anda bahkan bisa menentukan sendiri metode dalam Objek untuk bertindak seperti super di jawa:
Jika anda don't secara eksplisit perlu memanggil#a dari B#b, melainkan perlu memanggil#a dari B#a, yang secara efektif apa yang anda're lakukan dengan cara B#b (kecuali anda're contoh isn't cukup lengkap untuk menunjukkan mengapa anda're menelepon dari B#b, anda hanya dapat memanggil super dari dalam B#a, hanya seperti ini kadang-kadang dilakukan di menginisialisasi metode. Saya tahu ini adalah jenis yang jelas, saya hanya ingin mengklarifikasi untuk setiap Ruby pendatang baru yang anda don't harus alias (khusus hal ini kadang-kadang disebut "sekitar alias") dalam setiap kasus.