福嶋です。

kiwamu <kiwamu / debian.or.jp> wrote:
> Masaki Fukushima さん曰く:
> >     retrun rb_float_new(rdata);
> > 
> > で、Floatオブジェクトを直接生成してしまうのが良いと思います。
> 
>  うーん。たしかにそれでも良いのですが…
> 測定データをCのscanfによって処理する仕様にしてしまうと、
> 測定器が代るたびにCでプログラムを書き直さなくてはならなくなります。
> GPIBカードに依存する部分はCで書かなくてはならないと思うのですが、
> GPIBカードにつないだGPIB機器に依存する部分はrubyで書きたいのです。
> # わがままでしょうか? (^^;;

あ、そうなんですか。
そこまで読めませんでした。

> しかもこのret配列は
> 
>   (long int型 この後に続く要素の数)(float型データ)(float型データ)…
> 
> みたいな形式になることもありましてCで変換してしまうのは負けっぽいです。
> 
> scanfのような変換をこーイイ感じに抽象化してくれるモジュールを
> 書くべきなんでしょうか…?

いや、データのフォーマットさえ正確に分かっていれば、多分できると思
いますよ。

結局、この「(float型データ)」というデータはバイナリなんですか、文字
列なんですか?

scanfで読めてるとすると、文字列ってことになりますけど。

だとすると、各データの区切りはどうなっているのでしょう。

---
福嶋正機