Question

I want to return several values from a C function, and IMHO, a hash is a good option. I first used rb_intern('A_KEY') to create the keys, but the extension crashed. Now, I am using rb_str_new2, but I prefer symbols.

How do I create a new symbol, and use it without referring to a class or a method?

Was it helpful?

Solution

You need to use the ID2SYM macro to convert the identifier that you get from rb_intern into a ruby symbol. Try changing

rb_intern('A_KEY')

to

ID2SYM(rb_intern('A_KEY'))
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top