Wie ich abrufen eine ‚Standalone‘ Symbol auf Rubys C-Erweiterungs-API
-
13-10-2019 - |
Frage
Ich möchte mehrere Werte aus einer C-Funktion zurückzukehren, und meiner Meinung nach, ein Hash ist eine gute Option.
Ich ersten rb_intern('A_KEY')
verwendet, um die Schlüssel zu erstellen, aber die Erweiterung ist abgestürzt. Nun, ich bin mit rb_str_new2
, aber ich ziehe Symbole.
Wie erstelle ich ein neues Symbol, und es verwenden, ohne auf eine Klasse zu beziehen oder eine Methode?
Lösung
Sie müssen die ID2SYM
Makro verwenden, um die Kennung zu konvertieren, dass Sie von rb_intern
in einem Rubin Symbol erhalten. Versuchen Sie,
rb_intern('A_KEY')
ID2SYM(rb_intern('A_KEY'))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow