Come posso recuperare un simbolo 'standalone' sull'estensione API di Ruby C
-
13-10-2019 - |
Domanda
Voglio tornare diversi valori da una funzione C, e secondo me, un hash è una buona opzione.
Ho usato rb_intern('A_KEY')
per creare le chiavi, ma l'estensione caduto. Ora, io sto usando rb_str_new2
, ma preferisco i simboli.
Come si crea un nuovo simbolo, e utilizzarlo senza fare riferimento a una classe o di un metodo?
Soluzione
È necessario utilizzare la macro ID2SYM
per convertire l'identificatore che si ottiene da rb_intern
in un simbolo rosso rubino. Prova a cambiare
rb_intern('A_KEY')
a
ID2SYM(rb_intern('A_KEY'))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow