sách gpt4 ai đã đi

Phương thức Ruby()

In lại Tác giả: Data Little Sun Thời gian cập nhật: 2023-10-29 07:13:55 28 4
mua khóa gpt4 Nike

Tôi muốn biết phương pháp Ruby phương pháp() Nó hoạt động như thế nào.
Tôi đã thử tìm kiếm trên Google bằng "phương pháp ruby", nhưng đó không phải là những gì tôi cần.
Tôi cũng đã xem ruby-doc.org nhưng không tìm thấy phương pháp này.

Bạn có thể giải thích chi tiết cách thức hoạt động hoặc cho tôi liên kết không?

làm mới

Tôi sử dụng phương pháp() Phương pháp này đã được thử nghiệm và thu được kết quả sau:

mã 'chuột thí nghiệm'

Lớp đầu tiên
def first_instance_mymethod
kết thúc
def self.first_class_mymethod
kết thúc
kết thúc
lớp Thứ hai < Thứ nhất
def second_instance_mymethod
kết thúc
def self.second_class_mymethod
kết thúc
kết thúc

Sử dụng các lớp

#trả về danh sách các phương thức có sẵn cho lớp và tổ tiên
đặt Second.methods.grep(/mymethod/)
# => phương pháp của tôi lớp thứ hai
# => first_class_mymethod

#returns Danh sách phương thức lớp chỉ dành cho lớp hiện tại
đặt Second.methods(false)
# => phương pháp của tôi lớp thứ hai

Đối tượng sử dụng

obj = Thứ hai.mới
def obj.obj_singleton_mymethod
kết thúc

#trả về danh sách các phương thức có sẵn cho đối tượng và tổ tiên
đặt obj.methods.grep(/mymethod/)
# => phương pháp thứ hai của tôi
# => first_instance_mymethod

#trả về các phương thức lớp đối tượng hiện tại
đặt obj.methods(false)
# => obj_singleton_phương pháp của tôi

1 Câu trả lời

Câu trả lời được chấp nhận thiếu một điểm. keymone đã đưa ra câu trả lời đầy đủ hơn trong phần bình luận - .methods trả về một mảng các ký hiệu là Ví dụ Tên của tất cả các phương thức được xác định trên . Ví dụ:

irb(main):012:0> đối tượng = ""
=> ""
irb(main):013:0> đối tượng.instance_eval("def foo;:bar;end")
=> không
irb(main):014:0> đối tượng.phương thức.bao gồm?(:foo)
=> đúng
irb(chính):016:0> "".phương pháp.include?(:foo)
=> sai

Liên quan đến phương thức Ruby method(), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/6761651/

28 4 0