我需要验证一个对象并知道它是否包含Date
或DateTime
。我怎么能这样做?
答案 0 :(得分:3)
使用: instance_of
object.instance_of? Date
object.instance_of? DateTime
所以,你可以这样做:
if object.instance_of? Date
puts "Its a Date"
elsif object.instance_of? DateTime
puts "Its a DateTime"
end
答案 1 :(得分:1)
您可以使用:
object.instance_of?
DateTime是Date的子类,因此使用Date可以使用DateTime完成任何操作:
object.kind_of?
object.is_a?
kind_of?
和is_a?
是同义词。 instance_of?
与其他两个不同之处在于,如果对象是该确切类的实例而不是子类,则它仅返回true。
例如,5.is_a? Integer
和5.kind_of? Integer
返回true,因为5是Fixnum,Fixnum是Integer的子类。但是5.instance_of? Integer
返回false。