Câu trả lời hay.
Khi bạn khám phá, bạn có những ý của bạn:
obj.private_methods
obj.public_methods
obj.protected_methods
obj.singleton_methods
và
MyClass.private_instance_methods
MyClass.protected_instance_methods
MyClass.public_instance_methods
Cách sử dụng như sau:
obj.public_methods.sort
có thể làm xét dễ dàng quá.
Một số trường hợp đặc biệt tồn tại như
String.instance_methods(false).sort
... sẽ cung cấp cho bạn chỉ có phương pháp dụ định nghĩa trong lớp String, bỏ qua các lớp mà nó thừa hưởng từ bất kỳ tổ tiên. Như tôi mong đợi bạn biết, bạn có thể xem thêm tại đây: http://www.ruby-doc.org/docs/ProgrammingRuby/ nhưng nó không phải là vui vẻ như kiểm tra và phản ánh trong irb.
vui vẻ khám phá -
Perry
Nguồn
2011-04-25 11:44:32
Bạn có nghĩa là 'inspect' cho thấy biến chẳng hạn? – sawa
@sawa, kiểm tra sẽ hiển thị instance_variables quá (tức là trừ khi nó đã được ghi đè cho một lớp để hiển thị cái gì khác thay thế) – Zabba
ai đó có thể giải thích làm thế nào anh chàng này được nhắc: "hiển thị tất cả 152 phương pháp có sẵn?" http://www.youtube.com/watch?v=J_9H1WPV2Ws#t=0m15s – lukemh