Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > dlライブラリ > DL::Symbolクラス > []

instance method DL::Symbol#[]

call(*args) -> object[permalink][rdoc]
self[*args] -> object

[TODO]

自身が表しているライブラリ関数を呼び出します。関数の 戻り値 result と、 call に渡された引数の配列 args = [arg1, arg2, ... argN] からなる配列 [result, args] を返します。

require 'dl'
h = DL.dlopen('./libtest.so')
s = h.sym('slen', 'IS')
result, args = s.call('abc')
p result #=> 3
p args   #=> ["abc"]
 /* libtest.so */
 int slen(const char* s){
   return strlen(s);
 }