require "al_worker_fd" class FdServer < AlWorker # イニシャライザでハンドラを定義する def initialize2() @fd = Fd.open( "/dev/cuaU0" ) # IOオブジェクトが他の方法で用意されている場合は、以下の通り newメソッドを使う。 # io_obj = open( "/dev/cuaU0" ) # @fd = Fd.new( io_obj ) # read可能になった時の処理 @fd.ready_read() {|fd| txt = fd.gets # 3.7以前は、txt = @fd.file.gets とする。 puts " READING: #{txt}" } @fd.ready_read() { puts " READING: #{txt}" } end end server = FdServer.new( "fd_server" ) server.run()