2014-06-24 2 views
1

DNS 쿼리의 리소스 클래스가 IN 유형인지 확인해야하는 응용 프로그램을 디버깅하고 있습니다.루비의 인스턴스 유형 확인

[6] pry(#<DNS::Server>)> resource_class 
=> Resolv::DNS::Resource::IN::A 
[7] pry(#<DNS::Server>)> resource_class.inspect 
=> "Resolv::DNS::Resource::IN::A" 
[8] pry(#<DNS::Server>)> resource_class.class.name 
=> "Class" 
[9] pry(#<DNS::Server>)> resource_class.kind_of? Class 
=> true 
[10] pry(#<DNS::Server>)> resource_class.kind_of? Resolv::DNS::Resource::IN::A 
=> false 
[11] pry(#<DNS::Server>)> resource_class.instance_of? Class 
=> true 
[12] pry(#<DNS::Server>)> resource_class.instance_of? Resolv::DNS::Resource::IN::A 
=> false 
[13] pry(#<DNS::Server>)> resource_class.is_a? Class 
=> true 
[14] pry(#<DNS::Server>)> resource_class.is_a? Resolv::DNS::Resource::IN::A 
=> false 

내가 작동하지 않는 resource_class.instance_of? Resolv::DNS::Resource::IN::A를 사용하여 확인하려고했다 : 여기에 내가 발견 한 것입니다. 이걸 어떻게 확인합니까?

답변

3

resource_class은 수업입니다. Resolv::DNS::Resource::IN::A의 인스턴스가 아닙니다. Resolv::DNS::Resource::IN::A입니다. 따라서 간단한 비교만으로도 충분합니다.

resource_class == Resolv::DNS::Resource::IN::A 
+0

어리석은 me! 감사 :) –