只今Ruby勉強中

プログラミングRuby―達人プログラマーガイド

うさぎさんと一緒にRubyの勉強をしているオレの記録。

間違ってる所とかいっぱいあると思いますけど、誰でもコメント出来るので気軽に教えて下さい。

普段は 鷹の島 って所で書いてます。

現在のハマリポイント - yield, succ?, Proc & 後で

2006-09-12 (Tue)

Ruby で ipmessenger 00:29  Ruby で ipmessenger - 只今Ruby勉強中 を含むブックマーク

Ruby 用の ipmessenger クラスを見つけたので使ってみた。

このページの下の方にある ipmsg.rb ってやつ。ちなみにこのページは文字コードを ISO-hoge に指定してやらないと文字化けするかも。あと Internet Archive が不調でたまに表示出来ないけど、リロードすると直ったりする。

ipmsg.rb をダウンロードしてきてロードパス(/usr/local/lib/site_ruby/1.8/とか?)に置いて、呼び出し用のコードを書いた。普通にコマンドラインアプリな感じでこんな風にした。標準入力から綺麗に受け取る方法が発掘できなくて、なんか奇妙なやり方になってます。

#! /usr/bin/ruby

send = ARGV.shift

if !send
   puts 'usage:'
   puts 'ipmsg [ip]'
   puts 'echo [msg] | ipmsg [ip]'
   exit 1
end

msg = STDIN.map.to_s

require "ipmsg.rb"

ip = IPMSG.new('ip chan')
ip.entry
ip.send_msg(msg, send.to_s)
#ip.send_msg_all("message")
ip.exit

それで

$ echo hogefuga | ipmsg 192.168....

とかやると hogefuga っていうメッセージが届く。cat hoge | ipmsg ... みたいにファイルを読んだりとかも出来て便利。

今までは tipmsg っていうのを使って、make && tipmsg... みたいにして make の終了を知らせたりとかそういう使い方をしていたんですが、この tipmsg ってメール形式のデータを読み込むプログラムだからオレの使い方には全然向いてないんすよね。この前の DECON で、開発者の皆さんが IRC を使って便利に通知しているのを見て、IRC をやる仲間が居ないオレの通知方法はもっぱら ipmessenger ですよと寂しくなりました。じゃなくて、ipmsg.rb を使えば他のプログラムとの連係も楽そうなので、もうちょっと通知環境を良くしていければと。

ていうか、ここん所ちょっと脱線気味の気がするけど、こういう小さな所からコツコツとなるべく Ruby を使っていくようにすれば徐々に覚えていけるんじゃないかっていう寸法。

otnotn2008/12/17 23:09STDIN.map.to_s → STDIN.read ですね。

トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20060912