예를 들어, 파이썬, ll i& # 39 사용하여 뭐한테 I& 찾는 # 39 m (rec.601 생각할 수 있는 경우 이를 모르는 의사코드 don& # 39, 파이썬):
>>> a = 1
>>> type(a)
<type 'int'>
내가 할 수 있는 그러니까말이야 루비.
1.9.3p194 :002 > 1.class
=> Fixnum
그러나 이것이 개체의 유형을 결정하는 데 적절한 방법은?
확인할 수 있는 적절한 방법은 " type"; 남은 한 객체에는 줏대 없는 세계 '는' 은 루비 오브ject.클레스) 이라 할 수 있습니다.
이후 다른 클래스를 스케쳐내 클래스뿐만 상속됩니다 수 있는지 여부를 결정할 수 있는 특정 type" 객체인지 "; 호출하십시오 여부를 확인할 수 있습니다 'object.is_a? (ClassName)' 는 '또는' 객체 '유형' ClassName 파생됨 거잖나.
보통 유형 검사를 수행할 수 없는 루비, 대신 객체에는 따라 특정 방법, 흔히 " 응답하려면 평가받고 있다. [덕 타이핑] (http://en.wikipedia.org/wiki/Duck_typing) ". 다시 말하면, 응답할 수 있는 방법, there& 운영까지도 # 39 의 특정 유형에 대한 이유가 없다.
예를 들어, 'object.is_a? (String)' 이후 너무 경직된 다른 클래스를 구현할 수 있도록, 또는 같은 행동을 문자열이어야 메서드입니다 변환해야 문자열으로 어떻게 할 수도 없다. 'object.respond_to? (:to_s)' 는 객체에는 그리웠댔지 테스트하려면 그 문제가 있는 더 나은 방법이 될 것이다.
시도할 수도 있습니다. ['instance_of?'] (http://ruby-doc.org/core-2 # method-i-instance_of-3f .0/object.html)
p 1.instance_of? Fixnum #=> True
p "1".instance_of? String #=> True
p [1,2].instance_of? Array #=> True
그래서 대부분의 경우에 사용할 수 있는 최상의 상태로 덕 타이핑 (않을 경우 대부분) 를 사용하여 ['# respond_to? (방법)'] [2]:
object.respond_to?(:to_i)
[2]: # method-i-respond_to-3f .0/object.html http://ruby-doc.org/core-2
꼭 이래야겠어요 말하도다 Yes" ";). Tpc. " Matz"; 그의 이 같은 일이 있다고 밝힌 한 루비 객체에는 " types." 없음;; 하지만 일부 부분은 우리에게 구현하므로 않노라그분이 가려구. 왜 아무도 밝힌 바 있다 모든 것을 Object" 백업이었습니다 "; 그리고는요? 그는 데이터가 아닌 objects" 추상형데이터타입 추가할 ";).
그래서 우리는 이 즐길 수 있다.
https://www.youtube.com/watch? v = 1l3U1X3z0CE
하지만, 루비 doesn& 클래스 객체 유형에 대한 그냥 # 39 시간 t care. 우리가 사용하는 클래스뿐만 추상형데이터타입 없습니다. 모든 데이터 클래스 갖게 됩니다.
12345.class
'my string'.class
그들은 조상의 것일 수도 있다
Object.ancestors
또한, ll 절감할 수 있는 내용을 메타 클래스뿐만 하지만 I& # 39.
진짜 원한다면 들어갈 수 있는 정보를 참고한다.
[루비 객체에는 " Model";
이것은 어떻게 루비 핸들이 사용되는 용어로 객체에는. # 39 의 it& don& # 39, 이건 정말 많이 볼 수 있도록 모든 내부 it& t # 39, s nice to know. 하지만 다른 that& # 39 의 주제.
구로췌! 이 수업은 데이터 유형:. 객체에는 클래스뿐만 및 데이터 유형이 있다. 네가 만일 그런 유형의 data bases 대해 잘 알고 있는 가지뿐입니다 유한 집합.
텍스트 블록 숫자임