From: Eric Hodel Date: 2006-10-01T04:52:00+09:00 Subject: Re: Calling an existing method with RubyInline - how? On Sep 29, 2006, at 9:49 PM, Daniel Berger wrote: > How do you call an existing function from an included header file > using > RubyInline? Do I have to wrap it in a 'built' function? This should help: require 'inline' class Foo inline do |builder| builder.include "" builder.c <<-EOF int c_atoi(char * nptr) { return atoi(nptr); } EOF builder.c_singleton <<-EOF int c_atol(char * nptr) { return atol(nptr); } EOF end class << self; alias atol c_atol; end alias atoi c_atoi end puts Foo.atol("5") puts Foo.new.atoi("5") > For example, say I have this bit of code, and that test.h has a > function > defined as "const char* test_version(void)". From your example, probably: require 'inline' class Foo inline do |builder| builder.include "" builder.add_compile_flags "-ltest" builder.c_singleton <<-EOF char * foo_test_version() { return test_version(); } EOF end class << self; alias version foo_test_version; end end -- Eric Hodel - drbrain@segment7.net - http://blog.segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com