[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002465] ruby-ispack-0.4



水田です。

Ruby-ISPACKの改訂版を
http://ruby.gfd-dennou.org/products/ruby-ispack/ruby-ispack-0.4.tar.gz
に置きました。

前バージョンでは引数が16個以上ある関数は使えないという問題が
ありましたが、西澤くんに解決方法を教えてもらい、
この問題は解決しました(よく見たら黄色のRuby本に書いてあった)。
rb_define_module_functionで引数の数を-1にすると引数をまとめて
配列で渡すことになるので、それを関数の中で自分で取り出してやると
うまくいきました。

引数が24個ある関数を使ったサンプルtest_sppack.rbを入れておきました。
その他バグ修正、extconf_ifort9.rbの追加(西澤くん作)などしています。
不具合等あればお知らせ下さい。


> From:     Ryo Mizuta <rmizuta@xxxxxxxxxxxxx>
> To:       dennou-ruby@xxxxxxxxxxx
> Date:     Fri, 22 Jul 2005 19:50:02 +0900
> Subject:  Re: Ruby-ISPACK  作成中
> 
> 他にもサンプルを作ってテストしようとしていたら、
> 問題にぶつかってしまいました。
> RubyからCやFortranの関数を呼ぶ際、引数が16個以上あるとエラーになります。
> 調べてみると、、、
> どうやらRubyの仕様のようです(eval.c 5400行目あたり)。
> (http://i.loveruby.net/ja/rhg/method.html 参照)
> ISPACKは引数が最大26個あって現状では動かないものがけっこうあります。
> ううんどうしましょう。
> 


-- 
水田 亮
rmizuta@xxxxxxxxxxxxx