Tôi có một câu hỏi đơn giản về cú pháp đường ray:chấp nhận loại lớp của một đối tượng trong đường ray
Làm cách nào để tìm hiểu đối tượng thuộc lớp nào?
Tôi cố gắng làm someting như:
if class(object) == MyClass
Cảm ơn Maechi
Tôi có một câu hỏi đơn giản về cú pháp đường ray:chấp nhận loại lớp của một đối tượng trong đường ray
Làm cách nào để tìm hiểu đối tượng thuộc lớp nào?
Tôi cố gắng làm someting như:
if class(object) == MyClass
Cảm ơn Maechi
Bạn có thể làm
if object.class == MyClass
hoặc
if object.is_a?(MyClass)
Sau này cũng trả về true nếu object
là phiên bản của lớp con của MyClass
.
object.is_a?(MyClass)
object.kind_of?(MyClass)
Trả về true nếu lớp là lớp obj hoặc nếu lớp là một trong các lớp siêu của obj hoặc mô-đun được bao gồm trong obj. Aliased là ``
object.instance_of?(MyClass)
object.class == MyClass
trả về true nếu obj là một thể hiện của nhóm nhất định.
MyClass === object
giống hệt để is_a?
phương pháp. Hữu ích cho các báo cáo trường hợp như
case object
when MyClass
when OtherClass
…
end