tôi có một cái gì đó như thế này:Sử dụng define_method bên trong một Module được đưa vào bên trong một Class?
module MyModule
define_method(:foo){ puts "yeah!" }
end
class User
include MyModule
end
Nhưng điều này không làm việc như dự định ... Họ không được định nghĩa. Ngoài ra tôi cần sử dụng Mô-đun vì tôi muốn phân biệt các Phương thức từ đó từ các Phương thức Người dùng thông thường. Tôi làm như thế này:
MyModule.instance_methods
Xin vui lòng giúp đỡ .. tôi đang thiếu gì? Tôi cũng đã cố gắng:
module MyModule
(class << self; self; end).class_eval do
define_method(:foo){ puts "yeah!" }
end
end
mà cũng không làm việc:/
để làm rõ ... Tôi muốn sử dụng:
User.first.foo
không
MyModule.foo
Có vẻ ổn với tôi: 'mô-đun MyModule; end' '=> nil' 'người dùng cấp; bao gồm MyModule; end' '=> Người dùng' ' mô-đun MyModule; define_method (: foo) {puts "yeah!" }; end' '=> #' 'User.new.foo' ' vâng ' '=> nil' ' MyModule.instance_methods' ' => [" foo "]' –