Okay, nun verstehe ich soweit, vielen Dank.
Allerdings muss ich sagen, dass mein erster Versuch damit kläglich gescheitert ist.
Hier ein simpler Test-Code:
Die Nachricht "hi" wird korrekt angezeigt wenn ich diesen Script starte, allerdings folgt direkt darauf folgende Fehlermeldung:
Zitat
Script '' line 6: TypeError occured.
nil is not a symbol
...
Welche ich nicht recht zu verstehen in der Lage bin. Besonders nicht in dem Zusammenhang mit meinem Script.
Die method Methode erwartet entweder ein Symbol oder einen String mit dem namen der Methode die du haben willst.
Also entweder xample_method (der : ist erforderlich) oder "example_method".
Außerdem kriegst du beim Aufruf der method Methode für eine Klasse keine Instanz von Method sondern von UnboundMethod. Diese musst du erst an einen Empfänger binden bevor du sie verwenden kannst.
Tut mir leid, ich scheine wohl einfach kein glückliches Händchen dafür zu haben. Meine Klasse sieht nun wie folgt aus:
Soweit nichts sonderlich kompliziertes (ich hoffe ich darf die Methode @m an die eigene Klasse binden) allerdings erhalte ich nun bei jedem Versuch folgenden Fehler:
Zitat
Script '' line 4: NameError occured
undefinde Method 'example_method' for class 'Class'
...
Diese Fehlernachricht ergibt soweit Sinn, allerdings nicht im Kontext.
Einmal wieder bitte ich um Aufklärung, vielen Dank für die ganze Mühe und Zeit.
Wenn du schon im vorhinein den Empfänger kennst (in deinem Fall also self) wäre es sinnvoller, die Methode direkt vom Emfänger abzufragen, also self.method(:example_method). Dann kannst du dir den bind aufruf sparen.
Der Code wie du ihn geschrieben hast, funktioniert wenn du Example_Class.instance_method aufrufst. Hab ich in meinem letzten Post übersehen.