Aber sollte das nicht sowieso immer implizit so sein? Ich frag nach, weil ich das self von Ruby auch nicht so wirklich durchschaue. In der Methode wird ja kein anderes contents benutzt.Zitat
Aber sollte das nicht sowieso immer implizit so sein? Ich frag nach, weil ich das self von Ruby auch nicht so wirklich durchschaue. In der Methode wird ja kein anderes contents benutzt.Zitat
Nicht immer. Z.B. im Code von Cornix' letzten Beitrag ist es ein Muss. Wie soll Ruby ohne self hier zwischen Aufruf einer Methode und Zuweisung an eine lokale Variable unterscheiden? Andere Programmiersprachen wie C++ haben ein ähnliches Problem (Paramater vs. member variable), jedoch bevorzuge ich das Schreiben eines Schlüsselwortes (self oder this) anstatt eines Unterstriches am Ende des Bezeichners.
contents.width anstatt self.contents.width zu schreiben ist jedoch okay (und in RGSS 1 und 2 vernachlässigbar schneller). Manche Leute bevorzugen es eben explizit oder wissen es nicht besser, weil die Standardskripte es so machen.
Ja, es ist implizit so und kann meistens weg gelassen werden, allerdings wenn man einmal in eine Situation gerät wo man es braucht um einen Namenskonflikt auf zu lösen und es vergisst hat man sehr schnell einen Bug in seinem Code.
Für einen Anfänger würde ich daher ersteinmal empfehlen immer das Schlüsselwort "self" zu verwenden, einfach um sicher zu sein.
@Lil_Lucy
Es freut mich, dass du dein Problem lösen konntest.