Programing

변수가 클래스의 인스턴스인지 어떻게 확인합니까?

lottogame 2020. 11. 30. 07:43
반응형

변수가 클래스의 인스턴스인지 어떻게 확인합니까?


Java에서는 instanceof. 루비에 상응하는 것이 있습니까?


거의 똑같습니다. Objectinstance_of?방법을 사용할 수 있습니다 .

"a".instance_of? String # => true
"a".instance_of? Object # => false

루비에는 또한 메서드 is_a?kind_of?메서드가 있습니다 (이 2 개는 별칭이고 정확히 동일하게 작동합니다). 반환 true되는 슈퍼 클래스는 다음과 같은 일치 항목 중 하나입니다.

"a".is_a? String # => true
"a".is_a? Object # => true

kind_of?is_a?동의어입니다. Ruby는 Java의 instanceof.

instance_of?true객체가 하위 클래스가 아닌 정확한 클래스의 인스턴스 인 경우 에만 반환된다는 점에서 다릅니다 .


instance_of?kind_of?방법을 살펴보십시오 . 다음은 문서 링크입니다. http://ruby-doc.org/core/classes/Object.html#M000372


나는 klass클래스 객체를 반환하는으로 성공했습니다 . 이것은 Rails와 관련된 것 같습니다.

샘플 사용법 :

class Foo
end

Foo.new.klass
# => Foo

Foo.new.klass == Foo
# => true

Foo.new.klass == "Foo"
# => false

이 작업을 수행하는 메서드도 있습니다 : Object.is_a?, 클래스 객체를 인수로 사용하고이 self클래스의 인스턴스이거나 하위 클래스의 인스턴스 인 경우 true를 반환합니다 .

참고 URL : https://stackoverflow.com/questions/3424782/how-do-i-check-if-a-variable-is-an-instance-of-a-class

반응형