2012-06-03 14 views

cevap

18

this'un ruby ​​eşdeğeri self - her ikisi de geçerli örneğe başvurur.

Zor olan bölüm, Ruby sınıfının kapsamında, , oluşturduğunuz sınıfı tanımlayan Class sınıfının geçerli örneğini ifade eder. Bir yöntemde, self, sınıfın örneğine başvurur.

örn belirtildiği gibi

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

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

$this analog, self olup. Ancak, bir örnek değişkeni ($this->somevar) veya örnek yöntemine (this->somemethod()) erişmek için kullanmak istediğiniz anlamına gelen $this-> sordu. Bir örnek değişkeni için Ruby'deki eşdeğer @ olur (@somevar'da olduğu gibi). Örneğin, yöntem eşdeğeri, yöntem ismini (somemethod) yazmak ya da ayrıntılı olmak istiyorsanız (self.somemethod) olmalıdır.