2013-08-27 5 views

답변

6

Class.new을 사용하면 새 클래스를 만듭니다. 사실뿐만 아니라 당신은 일반적인 구문을 통해 클래스를 만들 수 있습니다

class Bird 
    def is 
     "word" 
    end 
end 

하지만 당신은 또한이 같은 Class::new 사용할 수 있습니다 : 당신이 Bird.new.is를 실행할 수 있습니다 위의 예에서

Bird = Class.new do 
    def is 
     "word" 
    end 
end 

을 그리고 "word" 그냥 돌아갑니다 첫 번째 예와 같습니다. 이름을 바꿀 수있는 익명의 클래스 나 클래스를 만드는 것이 유용합니다. 귀하의 경우에는 : 단순히 Class.new를 호출하면 나중에 두 번째 new 방법을 통해 인스턴스화 된 사용자 정의 방법 또는 인스턴스 변수를 새로운 익명 클래스를 작성하여

Class.new.new 

.

+0

감사합니다. –

1

Class.new은 인스턴스 (클래스) 인 Class 인스턴스를 생성하여 반환합니다. new에 다시 전화하면 이전에 생성 된 클래스가 인스턴스화됩니다.

+0

감사합니다 ... 모자를 벗으십시오 –

0
my_class = Class.new # makes a new class which is a subclass of Object 
my_instance = my_class.new # makes a new instance object of the class 
+0

감사합니다 ... 모자를 벗으십시오 –

3

당신은 콘솔을 통해 수행 할 수 있습니다

irb(main):011:0> c = Class.new 
=> #<Class:0x000000028245e0> 

c 새로운 클래스입니다.

irb(main):012:0> c.new 
=> #<#<Class:0x000000028245e0>:0x0000000282a170> 

c.new을 호출하면 방금 만든 새 클래스의 새 인스턴스가 반환됩니다.

+0

엄지 손가락을 올려주세요 ..... –

관련 문제