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 【名】机、編集主任