Comment puis-je récupérer un symbole « autonome » sur C API d'extension de Ruby
-
13-10-2019 - |
Question
Je veux revenir plusieurs valeurs d'une fonction C, et à mon avis, un hachage est une bonne option.
J'ai d'abord utilisé rb_intern('A_KEY')
pour créer les clés, mais l'extension écrasements. Maintenant, je me sers rb_str_new2
, mais je préfère les symboles.
Comment puis-je créer un nouveau symbole, et l'utiliser sans se référer à une classe ou une méthode?
La solution
Vous devez utiliser la macro ID2SYM
pour convertir l'identifiant que vous obtenez de rb_intern
un symbole rubis. Essayez de changer
rb_intern('A_KEY')
à
ID2SYM(rb_intern('A_KEY'))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow