Hiroyuki Mabuchi
hiroy****@nifty*****
2004年 9月 13日 (月) 16:03:36 JST
引き続き馬渕@コミルです。 こちらのMLやあちらこちらのPrimeクライアントを参考にしながら、見よう見ま ねで先述のアプリを書いています。下記のコードにより、予測変換はうまく動い ているのですが、一度確定して「学習」した単語の出現順序が他のPrimeクライ アントとは異なった結果となってしまっています。 例えば、「こんにちは」を1回確定した後で、もう一度出そうと以下のキー入力 を行うと、prime.el では キー入力 1番目の候補 ----------------------------------- こ → 言ノ葉(ユーザ辞書に登録している語です) こん → 今回 こんに → こんにちは ここで「こんにちは」を確定 こ → こんにちは と出るのに、私が書いたコードでは キー入力 1番目の候補 ----------------------------------- こ → 言ノ葉 こん → 今回 こんに → こんにちは ここで「こんにちは」を確定 こ → 言ノ葉 こん → 今回 こんに こんにちは と、最初と同じだけのキー入力を要しています。 Primeを呼んでいる該当部分を抽出すると、以下になります。 --------------------------------------------------------------------- require "prime/prime" $prime = Prime.new # 中略 $prime.lookup_all( 変換前のひらがな文字列).each {|x| # Ruby/tk のボタンウィジットで、クリック(選択)された時の処理 destwordtag.bind('Button-1', proc{ # 選択された単語を書き出し $editarea.insert( 'insert', x.to_text_literal) # 選択された単語を学習 $prime.learn_word( x.values[0], x.values[1], x. values[2]) $prime.update } ) # 候補の表示 $convarea.insert( 'end', x.to_text_literal, destwordtag) $convarea.insert( 'end', ' ') } --------------------------------------------------------------------- たぶん、context の状態(使用)を全然理解していないのがいけないのだろうと思 いますが、RubyクラスでPrimeを利用するアプリは見受けられず、他のクライア ントのコードも追いきることが出来ませんでした。 このコードを見ろとかでもけっこうですので、Rubyクラスを用いたときの、候補 から確定したときの手順をお教えいただけますでしょうか。 なお、上記で使用しているPrimeのバージョンは少し古くなりますが、0.8.3.1 です。(Knoppix 3.4 をハードディスクへインストールしたものを使っていま す。) ------------------------------------- 馬渕広行@コミル 私用mail :hiroy****@nifty***** 仕事用mail:mabuc****@mbc***** http://www.comil.jp/