Я пытаюсь переписать высокорекурсивную функцию, используя встроенный C, с Ruby.Функция принимает неопределенное количество аргументов, то есть в Ruby это будет выглядеть так:
def each_entity(*types)
# Do something and recurse.
end
Я пытаюсь имитировать это во встроенном C, используя следующий код:
VALUE each_entity_c(int argc, VALUE *argv)
{
// ...
}
Но это приводит к ошибке компиляции:
inline.rb:486:in `ruby2c': Unknown type "VALUE *" (ArgumentError)
Это правильный способ сделать это в C?Если так, что могло вызвать эту ошибку?Если нет, то как это делается?