[prime-dev: 447] Rubyクラスの使用手順

Back to archive index

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/



Prime-dev メーリングリストの案内
Back to archive index