¿Cómo puedo recuperar un símbolo 'independiente' en la API de extensión C de Ruby
-
13-10-2019 - |
Pregunta
Quiero devolver varios valores de una función C, y en mi humilde opinión, un hash es una buena opción.
Solía ??primera rb_intern('A_KEY')
para crear las claves, pero la extensión caído. Ahora, estoy usando rb_str_new2
, pero prefiero símbolos.
¿Cómo se crea un nuevo símbolo, y lo utilizan sin hacer referencia a una clase o un método?
Solución
Se necesita utilizar la macro ID2SYM
para convertir el identificador que se obtiene de rb_intern
en un símbolo de rubí. Intente cambiar
rb_intern('A_KEY')
a
ID2SYM(rb_intern('A_KEY'))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow