rdic server
普段 rdic という辞書を使っています。
http://www.yasgursfarm.us/rdic/
これはとても便利なのですが、コマンドラインからも使いたいということで安易にサーバ化。
--- rdic.orig 2005-04-20 16:44:27.000000000 +0900 +++ rdic 2006-11-19 21:37:08.000000000 +0900 @@ -4649,6 +4649,28 @@ } GC.start end + + Thread.start { + require 'socket' + dic = DictionaryMgr.instance() + serv = TCPServer.open('localhost', 52628) + while true + Thread.start(serv.accept) do |s| + while s.gets + a = [] + dic.lookup_complete_match_each($_.chomp, false) do |l| + a << l + end + s.puts(a.size) + a.each do |l| + s.print(l) + end + end + s.close + end + end + } + RdicMain::run do rdicctl = RdicViewControll.new(rdicmgr, history)
まぁせっかく常駐してるのでサーバ化してもらおうと。 52628 って数字は RFC2229 に将来的に対応は…しないというようなそんな。
#!/usr/bin/env ruby require "socket" s = TCPSocket.open('localhost', 52628) s.puts(ARGV[0]) n=s.gets.to_i for i in 0...n s.gets $_.chomp! puts $_ end STDOUT.flush s.close
クライアントはこんなもんで。ライセンスは Ruby のやつ。
ついでに発音記号が出るフォントなども入れたのでだいぶしあわせになりました。 mirc も eijiro とかつけよかな。
i@u ~> dict desk ■desk : 【発音】désk、【@】デスク、【変化】《複》desks、【レベル】1 【名】机、編集主任