[#23805] net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp>

佐藤です。

26 messages 2000/07/12
[#23806] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23808] Re: net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp> 2000/07/12

佐藤です。

[#23809] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23811] Re: net/smtp — Minero Aoki <aamine@...> 2000/07/12

あおきです。

[#23812] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23890] Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...>

25 messages 2000/07/18
[#23895] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/18

わたなべです.

[#23896] Re: Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...> 2000/07/18

[#23897] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23898] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/19

わたなべです.

[#23899] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23923] Re: [ruby-dev:10353] Re: should prohibit `module_function' for class Class — Masatoshi SEKI <m_seki@...>

11 messages 2000/07/19

[#23940] String#unpack と scanf の関係 — kiwamu <kiwamu@...>

こんにちは。岡部@東京都立大学と申します。

16 messages 2000/07/20

[ruby-list:23992] Re: String#unpack と scanf の関係

From: kiwamu <kiwamu@...>
Date: 2000-07-24 07:41:51 UTC
List: ruby-list #23992
Thu, Jul 20, 2000 at 08:44:42PM +0900 において
Masaki Fukushima さん曰く:

> > 測定データをCのscanfによって処理する仕様にしてしまうと、
> > 測定器が代るたびにCでプログラムを書き直さなくてはならなくなります。
> > GPIBカードに依存する部分はCで書かなくてはならないと思うのですが、
> > GPIBカードにつないだGPIB機器に依存する部分はrubyで書きたいのです。
> > # わがままでしょうか? (^^;;
> 
> あ、そうなんですか。
> そこまで読めませんでした。

 すいませんです。説明不足でした。


> > しかもこのret配列は
> > 
> >   (long int型 この後に続く要素の数)(float型データ)(float型データ)…
> > 
> > みたいな形式になることもありましてCで変換してしまうのは負けっぽいです。
> > 
> > scanfのような変換をこーイイ感じに抽象化してくれるモジュールを
> > 書くべきなんでしょうか…?
> 
> いや、データのフォーマットさえ正確に分かっていれば、多分できると思
> いますよ。
> 
> 結局、この「(float型データ)」というデータはバイナリなんですか、文字
> 列なんですか?
> 
> scanfで読めてるとすると、文字列ってことになりますけど。
> 
> だとすると、各データの区切りはどうなっているのでしょう。

 読みたいフォーマット(FORM3とか呼ぶらしい)はIEEE32ビット浮動小数点フォーマット
とかいうやつで…

  文字列"#6"
  6バイトの文字列(この後に続くデータのバイト数)
  8バイトのdoubleデータ
  8バイトのdoubleデータ
  …
  EOI

とかなってるみたいです。

  require "gpib"
  dev = Gpib.new(18) # GPIBアドレス18で初期化
  dev.write("SING?") # 掃引待ち
  sleep(9)
  dev.write("FORM3") # FORM3形式で読み出し
  dev.write("OUTPSTIM?") # 横軸(周波数)のデータを読む
  r = "" ; r << dev.read while !dev.eoi # eoi が立つまでデータ読み込み
  fary = r.unpack("aaaaaaaad*")
  fary.each{|a|
    print(a, "\n")
  }

ってなかんじのスクリプトを田鎖さんのGPIBモジュールを使って
書いてみたのですが…

  #
  6
  0
  0
  3
  2
  0
  8
  2.213181251e-312
  -7.766515835e+255
  -1.67565126e+203
  -3.816111887e+150
  -8.203543647e+97
  -1.851627386e+45
  -3.968895868e-08
  -8.89044621e-61
  -1.901112197e-113
  -4.232626747e-166
  -9.033037558e-219
  -1.92688338e-271
  1.377639377e+293
  2.933988765e+240
  6.463747383e+187
  1.374874212e+135
  4.605570485e+77
  9.895050706e+24
  …

みたいに無意味なデータしか読めないです。

-- 
Tokyo Metropolitan University     Kiwamu Okabe
 Mail: kiwamu@debian.or.jp
 URL:  http://silica.eei.metro-u.ac.jp/~kiwamu/

In This Thread