Closed shaunakpp closed 6 years ago
Consider a simple example of printing sum of n Fibonacci numbers.
# fibonacci.rubex class Fibonacci def compute(int n) if n == 0 || n == 1 return n end return compute(n - 1) + compute(n - 2) end end
running rubex fibonacci.rubex successfully generates the extconf.rb, Makefile and fibonacci.c files. But, on running make, I got the following errors:
rubex fibonacci.rubex
extconf.rb
Makefile
fibonacci.c
make
compiling fibonacci.c fibonacci.c:30:9: error: redefinition of '__rubex_rb_f_Fibonacci_compute_actual_args' VALUE __rubex_rb_f_Fibonacci_compute_actual_args[1]; ^ fibonacci.c:29:9: note: previous definition is here VALUE __rubex_rb_f_Fibonacci_compute_actual_args[1]; ^ fibonacci.c:47:101: error: expected ')' return ( rb_funcall(__rubex_rb_f_Fibonacci_compute_actual_args[0] = INT2NUM(( __rubex_arg_n - 1 )); ^ fibonacci.c:47:22: note: to match this '(' return ( rb_funcall(__rubex_rb_f_Fibonacci_compute_actual_args[0] = INT2NUM(( __rubex_arg_n - 1 )); ^ fibonacci.c:48:116: warning: expression result unused [-Wunused-value] __rubex_rb_f_Fibonacci_compute(1, __rubex_rb_f_Fibonacci_compute_actual_args,__rubex_arg_self), rb_intern("+") , 1, __rubex_rb_f_Fibonacci_compute_actual_args[0] = INT2N... ^ fibonacci.c:49:97: error: expected ';' after expression __rubex_rb_f_Fibonacci_compute(1, __rubex_rb_f_Fibonacci_compute_actual_args,__rubex_arg_self)) ); ^ ; fibonacci.c:49:97: error: expected expression 1 warning and 4 errors generated. make: *** [fibonacci.o] Error 1
It would be awesome if recursion is supported in rubex, as recursion often helps in writing concise programs.
Fixed in https://github.com/SciRuby/rubex/commit/6da376e4a22d26079af70c0406680f2f52d3ae83
Consider a simple example of printing sum of n Fibonacci numbers.
running
rubex fibonacci.rubex
successfully generates theextconf.rb
,Makefile
andfibonacci.c
files. But, on runningmake
, I got the following errors:It would be awesome if recursion is supported in rubex, as recursion often helps in writing concise programs.