Tôi đang cố tạo một lớp mới, mà không biết tên của lớp cho đến khi nó được tạo ra.Tạo lớp học động
Một cái gì đó như thế này;
variable = "ValidClassName"
class variable
end
Test = ValidClassName.new
Nếu có thể, tôi cũng đánh giá cao những gợi ý som về cách để tự động thêm các thuộc tính (và phương pháp) đến lớp mới này.
tôi sẽ retreiving 'Cài đặt' cho lớp, và họ sẽ giống như thế này:
title :Person
attribute :name, String
attribute :age, Fixnum
Nhưng không phải được thiết kế để chỉ chấp nhận rằng tập tin rõ ràng, các thuộc tính có thể khác nhau cuối cùng số kiểu.
nào cuối cùng sẽ tạo ra một lớp học mà nên tìm kiếm một cái gì đó như:
class Person
def initialize(name, age)
@name_out = name
@age_out = age
end
end
Trợ giúp?
bạn muốn tạo mã nguồn cho một lớp học? hoặc là bạn muốn tạo ra nguồn và cho ruby để biên dịch/tải lớp trong thời gian chạy? – ardnew
Vì tò mò, bạn đang giải quyết vấn đề gì? Bạn dự định sử dụng các lớp được tạo động này như thế nào? – ctcherry
Lớp học của tôi được cho là hành động như một 'khung', một khi được tạo ra sử dụng để tạo ra objetcs (miễn là chúng đáp ứng các yêu cầu, được thiết lập bởi lớp) từ một tập tin yaml. YAML giữ một nhóm "người", và một số người trong số họ có các thuộc tính phù hợp với yêu cầu. – BSG