Hiroyuki Komatsu
komat****@taiya*****
2005年 3月 15日 (火) 23:43:49 JST
> > > コードを拝見したところ、連文節変換用のプロトコルである "conv_*" では > > > なく、単文節変換用の "lookup_*" を使っているようにみられます。 > > > > はい、conv_*系等もコンソール上でPRIMEと直接おしゃべりするなどして動作を > > 確認しているところですが、まだ完全には理解できていません。 > > > > また、連文節系のプロトコルを試して > > > > undefined method `segments' for nil:NilClass > > > > と言われてPRIMEが落ちることがあるのですが、これはPRIMEが古いから? > > (今開発に使用しているマシンでは0.9.4-beta2を使っています。) > > おそらく modify_start をしないで、連文節変換を始めているからでは > ないでしょうか? いずれにしても落ちるのはバグですので、 > また再現しましたら報告していただけるとうれしいです。 ごめんなさい、modify_start は特に必要ありませんでした。 以下が、連文節変換プロトコルの一例です。 edit_insert ( session-id, 'hasiwokakeru' ) => 'はしをかける' conv_convert ( session-id ) => ['-1', '橋を書ける', '橋を架ける', '枦を書ける', ... ] conv_select ( session-id, '0' ) => '橋を書ける' modify_cursor_left ( session-id ) => ['橋を', '書ける', ''] segment_reconvert ( session-id ) => ['0', '書ける', '描ける', '架ける'] segment_select ( session-id, '2' ) => ['橋を', '架ける', ''] conv_commit ( session-id ) => '橋を架ける' conv_commit をした時点で、入力の学習とプリエディション文字列の初期化が、 自動的に行われます。 また、segment_commit は予約されていますが、現在は無効なコマンドです。 -- 小松弘幸 ----------------------- http://taiyaki.org/