Co jest odpowiednikiem PHP $this->
w Ruby?
7
A
Odpowiedz
18
Równoważnik rubinowy this
to self
- oba odnoszą się do bieżącej instancji.
Trudnym elementem jest to, że w zakresie klasy Ruby, self
odnosi się do bieżącej instancji klasy Class
, która definiuje budowaną klasę. Wewnątrz metody self
odnosi się do instancji klasy.
np
class Example puts self # => "Example" - the stringified class object def foo puts self # #<Example:0xdeadbeef> - the stringified instance end end
3
analogu $this
self
jest, jak już wspomniano. Pytałeś jednak o $this->
, co oznacza, że chcesz go użyć do uzyskania dostępu do zmiennej instancji ($this->somevar
) lub metody instancji (this->somemethod()
). Dla zmiennej instancji odpowiednikiem w Ruby będzie @
(jak w @somevar
). Na przykład metody, odpowiednik byłoby po prostu napisać nazwę metody (somemethod
) lub, jeśli chcesz być verbose (self.somemethod
).