2012-06-03 2 views
7

루비에서 PHP의 $this->과 같은 것은 무엇입니까?

답변

18

루비 등가 thisself입니다. 둘 다 현재 인스턴스를 나타냅니다.

까다로운 부분은 Ruby 클래스 범위에서 self은 빌드중인 클래스를 정의하는 클래스 Class의 현재 인스턴스를 참조합니다. 메서드 내에서 self은 클래스의 인스턴스를 참조합니다.

예 : 언급 된 바와 같이

 
class Example 
    puts self # => "Example" - the stringified class object 

    def foo 
    puts self # #<Example:0xdeadbeef> - the stringified instance 
    end 
end 
3

$this의 아날로그는 self이다. 그러나 $this->에 대한 질문은 인스턴스 변수 ($this->somevar) 또는 인스턴스 메소드 (this->somemethod())에 액세스하는 데 사용하려는 것입니다. 인스턴스 변수의 경우, Ruby의 동등 물은 @ (@somevar에서와 같이)이됩니다. 인스턴스 메소드의 경우 메소드 이름 (somemethod)을 작성하거나 자세한 정보 표시 (self.somemethod)를 원할 경우 해당 메소드를 작성하십시오.