stimmt allerdings oO;;
nichts desto trotz hat er ja ne fehlermeldung, dass das ding nicht initialisiert ist ... also muss es erst irgendwie initialisiert werden, und das wort module durch class zu ersetzen ist ja auch keine hexerei^^
stimmt allerdings oO;;
nichts desto trotz hat er ja ne fehlermeldung, dass das ding nicht initialisiert ist ... also muss es erst irgendwie initialisiert werden, und das wort module durch class zu ersetzen ist ja auch keine hexerei^^
Ok, ani-kun hat Recht, dass da was mit der Initialisierung nicht stimmt. Wenn ich anstelle von Numberpad[0] den Zahlenwert (45) in die Abfrage packe, passiert der Fehler nicht.
Edit:
Ich hab mal ein wenig herumexperimentiert. Da ich mich mit Ruby kaum auskenne, kann ich nicht erklären wieso es geht, aber es sollte folgendermassen klappen:
Du packst vor die Methode pressed? ein "self.". Dann rufst du die Abfrage z.B. so auf:
Der Unterschied zu vorher ist das "Input::" vor der Konstante.
Geändert von Kelven (12.04.2007 um 18:33 Uhr)
Sry, hab mich oben verschrieben. Das vergess ich immer XD
Ein Modul ist eine "Klasse" die nicht initialisiert werden kann. Im Prinzip nur ein Paket mit verschiedenen Methoden und Konstanten. Damit man auf eine Konstante eines Moduls zugreifen kann, schreibt man
Modul::Konstante
(bei einer Klasse genauso)
module_function ist eine Methode der Klasse Module, welche alle Instanzmethoden eines Moduls in Modulmethoden umwandelt. Daher ist es nicht nötig vor eine Methode self. zu schreiben, das erledigt module_function schon von alleine (falsch ist es natürlich nicht. Ich persönlich finde die Methode auch doof und mache das lieber über self.methodenname XD)
Modulmethoden und Klassenmethoden können ausgeführt werden, ohne das die Klasse (oder das Modul) eine Instanz erzeugen müssen. Typisches Beispiel die Klasse File.
File.open ist eine Methode, die ausgeführt werden kann, ohne das eine Instanz der Klasse File erzeugt wird.
Also kurz gesagt: Hör auf Kelvin XD Einfach ein Input:: davorschreiben.