はじめまして、大島と申します。
1年以上ROM(最近見かけなくなった表現で恐縮です)でしたが、初めて
ruby-listへお尋ねします。

自作USB機器をLinux上のrubyで制御することを考えていますが、USBは抜き差し
するとデバイス番号が変ります。USBハブのポート位置は変えないので次のよう
なコードでデバイス番号を自動取得することを考えました。(例えば次のようなdmesg
の最後に出てくる最新のデバイス番号を取得したい)

$ dmesg | grep FTDI の一部
sb 2-1.3: new full speed USB device using ohci_hcd and address 5
usb 2-1.1: FTDI 8U232AM Compatible converter now attached to ttyUSB1
usb 2-1.3: FTDI 8U232AM Compatible converter now attached to ttyUSB2

#rubyのコード
str=`dmesg | grep FTDI`
str.grep(/usb 2-1.3/){|line|
  @dev=line.scan(/ttyUSB./)
}
DEVICE="/dev/"<<@dev[0]

この場合、2行目のマッチングするパターン"/usb 2-1.3/"をプログラムの中に直
接書くのではなくて、includeする別のファイル中で定義する定数として与える
方が、状況が変ってもコードを直接いじらずに済むのでありがたいのですが、
そんな方法はあるでしょうか。


#rubyは50歳で勉強し始めましたが、正に「五十の手習い」としては、とてもあ
りがたい、おじさんにとっても優しい言語ですね。

-- 
大島 修
e-mail: ohshima / po.harenet.ne.jp