Làm thế nào nó hoạt động? Khi sau đây được chạy "hi from class"
được in hai lần. Điều gì đang xảy ra bên trong ruby để làm cho hành vi này như thế này? Tôi KHÔNG trên thực tế làm một phương pháp dụ cho lớpLớp học - ví dụ so với phương pháp lớp học
class Class
def foo
puts "hi from class"
end
end
Class.foo
x = Class.new
x.foo
Vì vậy, những gì sẽ xảy ra khi (trong cơ thể của 'lớp Class') Tôi' def self.foo; đặt "hi from ** self **"; kết thúc; '... bây giờ câu lệnh' Class.foo' in 'hi from self'? – slindsey3000
@ slindsey3000: Nếu bạn định nghĩa cả một phương thức instance và một method class trên 'Class' thì' Class.foo' sẽ gọi method class và 'AnyOtherClass.foo' sẽ gọi phương thức instance. Vì vậy, trong ví dụ của bạn 'Class.foo' sẽ in' hi from ** self ** 'và ví dụ: 'String.foo' sẽ in' hi from class'. – sepp2k