Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sgmt
Fri, 13 Oct 2000 19:03:18 +0900 頃の
Mail-Count: 00970
Subject: [namazu-devel-ja] sgmt
についてのお話にて Satoru Takabayashi さん曰く…
(S == Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> さん)
In article 00970, <20001013190318P.satoru-t@xxxxxxxxxxxxxxxxxx>
S> # ただいま libsgmt の Guile用のバインディングを準備していま
S> # す。Perl/Ruby/Python 用も作るといいかも。
Ruby バインディングの原形みたいのができたんですが,
いくつかよくわかんないところがあります.
* pipe が動かない
→ 「そのようなファイルやディレクトリはありません」となります.
sgmt -m pipe -a 'kakasi -w' でも同様
(kakasi コマンドはあります)
* chasen を使った場合に sgmt_segment を二度呼び出すと
segv をくらう(…ような気がする. 同じコードで kakasi なら OK).
* 「存在しないモジュールを指定したとき」に
libsgmt の中で abort している(?)ので,
バインディング的にちょっと困ってます.
どうするのが正しいんでしょう?
という感じなんですが,
リリースされるまでもう少し待つのが正しいのかも? (^_^;
あ, で Ruby バインディングですがこんな感じのを考えてます:
require 'sgmt'
s1 = Sgmt.new('kakasi')
s2 = Sgmt.new('chasen')
s3 = Sgmt.new('pipe', '.....')
# ふつーに呼び出すと結果が配列で返る
s1.segment("私の名前は中野です")
#=> ["私","の","名前","は","中野","です","\n"]
# イテレータとして呼び出すと単語に対してブロックをくり返す
s1.segment("私の名前は中野です") {|w|
print w, "\n"
}
--
やまだ あきら <URL:http://arika.org/>
(akira@xxxxxxxxx, akira@xxxxxxxxxxxxx or akira@xxxxxxxxxx)