6

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?

sawa
  • 165,429
  • 45
  • 277
  • 381
clbustos
  • 156
  • 6

1 Answers1

8

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'))
matt
  • 78,533
  • 8
  • 163
  • 197