| ここにある情報は v1.0.0 についてのものです. |
(object : Tsuikyo インスタンス)
新しい Tsuikyo インスタンスを得ます(コンストラクタとして呼ばれた場合).
Tsuikyo インスタンス自体を複数生成し同時に利用することも可能です.
initialize を直接呼ぶことはしないでください.
ts = new Tsuikyo("roma", "flex");
のようにインスタンスを得るとき,コンストラクタとして initialize() が呼ばれます.
Boolean : 指定したテーブルが存在すれば true,しなければ false
デフォルトの変換テーブルを指定します.指定テーブルが存在しなければ何もしません.
指定した変換テーブルが,以後 add() 時 conv を省略した場合に使われます.
Boolean : 指定の判定モードが存在すれば true, しなければ false
デフォルトの入力判定モードを指定します.指定判定モードが存在しなければ何もしません.
指定した判定モードが,以後 add() 時 flex を省略した場合に使われます.
object : TsuikyoWord インスタンス
新しい打鍵対象(ワード)を Tsuikyo に追加し,その TsuikyoWord インスタンスを得ます.
この時点で parse() が内部で呼ばれ,指定の変換テープルを用いて打鍵判定用の内部データ(TsuikyoWord.dat)が作られます.
なし
なし
Tsuikyo に登録されている TsuikyoWord の配列を空にします.
これによりワードごとの ID も新たに 0 から振り直されるようになります.
v1.0.0 では各インスタンスの delete 忘れてたりする.まあ js とかページ閉じればメモリ回収されるとはいえ,いまいちまずいので直す.
指定した ID のワードがあればその TsuikyoWord インスタンス,なければ false (なんで null じゃないんだ,直す)
ターゲットにするワードを指定します.ここで指定されたワードは Tsuikyo インスタンスを TsuikyoWord のように扱って操作ができます.
説明がわかりにくいので捕捉すると,内部的には,以下の TsuikyoWord にあるのと同名の関数を呼んだとき,id を省略するとここで指定した id がデフォルト値として使われるというだけ.
どっちかというと TsuikyoWord を返す役割の方が大事な気もする.
それぞれ引数に与えられた ID を使って該当する TsuikyoWord の同名の関数を呼び直すだけてす.
戻り値も TsuikyoWord のそれぞれと同じです.
add() が TsuikyoWord インスタンスを返して,以降そのインスタンスを保持して色々操作してね,というのはオブジェクト指向理解してないと難しいかなぁと思って老婆心で用意した代替操作.
add() した順に ID がつくことを利用して,
tsuikyo.stroke(c); ... if(typeFinished) tsuikyo.setTarget(i++); ... tsuikyo.getKeyString(); ...
等とすれば TsuikyoWord を意識せず Tsuikyo インスタンスと ID だけで操作できるよと.
object : パース結果として得た内部判定用データ.
Tsuikyo.add() が呼ぶ内部処理.結果は TsuikyoWord.dat に格納される.
Tsuikyo の外から呼んで使う必要は普通はないはず.
number : TsuikyoWord の ID
id が undefined であれば setTarget で指定されたデフォルト id を返し,そうでなければ引数の id をそのまま返す.
Tsuikyo の外から呼んで使う必要は普通はないはず.
なんで TsuikyoWord リストの length 以上の id はじくようになってないんだろ.直す.
string : ダンプ結果
指定した ID の TsuikyoWord の nodes (現在の打鍵対象ノードリスト)をダンプ.
デバッグ用だけどなんかまあ残ってる.
string : ダンプ結果
指定した ID の TsuikyoWord の dat (nodes の元になる遷移情報含む内部データ)をダンプ.
デバッグ用だけどなんかまあ残ってる.
なし
string : ダンプ結果
変換テーブルを全てダンプ.
デバッグ用だけどなんかまあ残ってる.
(object : TsuikyoWord インスタンス)
新しい TsuikyoWord インスタンスを得ます(コンストラクタとして呼ばれた場合).
TsuikyoWord の生成は普通は Tsuikyo に任せることになるので TsuikyoWord をあえて new することはまずないはず.
Boolean : 成功すれば true,失敗すれば false
入力判定モードを切り替えます.
任意のタイミングで変えれますが,反映は現在アクティブなノードが消化された時点(要は 1 打 2 打くらい打鍵されてから)です.がんばれば本当に任意のタイミングでかっちり変わるようにもできるはずだがその需要があるとも思えないので手抜き.
なし
Boolean : 成功すれば true,失敗すると false
このワードの打鍵状況を初期化します.ワードの文字列だとか内容自体は失われません.
一度打ち切ったワードを巻き戻して再利用する場合に使います.
なし
string : 表示文字列
add() 時に登録した表示用文字列(漢字かな交じり文とか)を返します.
表示用文字列での打鍵位置とかも対応しようかと思って showString 関連関数がありますが v1.0.0 現在では showPos は未実装.なので今んとこ Tsuikyo に表示用文字列も覚えさせておくと手元で別途管理しなくて良くて便利,とかそれだけのものです.
ぶっちゃけ string 型かどうかのチェックとかないのでなんかオブジェクトつっこんだりしてもいいです.
なし
string : パース対象文字列(ひらがな列)
add() 時に登録したパース対象文字列(普通はひらがな文)を返します.
HiraganaString って名前はデフォのローマ字変換テーブルで使うことを考えてのもの.一般化した名前にするなら ConvertString とか TargetString とか BaseString とかか.
なし
string : 打鍵列
打鍵列(普通は ascii 文)を返します.
既に打鍵された部分については実際に打鍵された内容で,まだ打鍵されていない部分については優先度の高い変換ひとつを選んで(TsuikyoWord.selectNode())つなげます.
なし
string : 打鍵列
ワードに対して stroke() された全入力をつなげて返します.この文字列にはミスタイプした文字を含むことに注意してください.
なし
number
表示用文字列における 0 オリジンの現在位置を返す予定でしたが未実装です.
必ず 0 が返ります.
なし
number
パース対象文字列(普通はひらがな文字列)における 0 オリジンの現在位置を返します.
なし
number
打鍵列(普通は ascii 文字列)における 0 オリジンの現在位置を返します.
なし
number
ワード内でのミス数を返します.
判定モードが Cancelable である場合には,キャンセル入力中には正確な値が返らないことがあります.キャンセル入力の特性的にむずいんだけどここはもう少し頑張ってなんとかしたい.
なお stroke() の結果が 2, 3, 4 であった直後には正しい値が返ることが保証されます.
なし
string array
直後に与えれば受理される打鍵文字の配列を返します.
表示されてる優先入力方法の打鍵もそうでない前向きの打鍵もキャンセル打鍵も同じ扱いってのはまずい気がするので要改良ねこれは.
k (string または number) : 入力する打鍵文字,またはその文字コード
number : stroke() の結果を示す数
打鍵をワードに反映させ,その打鍵の結果を返します.
k (string または number) : 入力する打鍵文字,またはその文字コード
number : stroke() の結果を示す数
打鍵をワードに反映させることなく,その打鍵をした場合の結果を返します.
なし
number : stroke() の結果を示す数
一番優先扱いにある入力方法で,1 打分を強制的に進め(強制正打扱い),その stroke() 結果を返します.
こんなことは機能組み合わせて簡単にできるよなというサンプル的なもの.これだけとても意味的な処理で浮いてますがそういうわけです.
ns (object array) : 選択元ノード群
object : 選択されたノードオブジェクト
いくつも打鍵方法がある場合にどれを優先して表示するかを決定する内部関数.
外側から使うことはないと思われるが上書きすることは有用.
デフォルトでは少ない打鍵で遠くまで到達できる入力を優先し,あとはインデクスが小さいものを採用という手抜き(でもまあ使い物にはなる).
こだわろうと思うとどうしても打鍵情報をハードコーディングしなきゃならなかったり,入力方法の利用頻度とかゲーム側の設定だとか外部情報参照しなきゃならないので,それは開発物ごとにオーバーライドしてやってね,という思いを込めて関数化してある.
幸いにして js は無名関数とか非常に簡単お手軽な言語だし.
startNode (object) : ノードオブジェクト
object : 選択していった結果のノードオブジェクト
ある位置から先の優先入力方法を順に決定して最後までノードを辿り,返す.ほぼ getKeyString() 用の内部関数.
名前の通り selectNode() を繰り返し呼んで手繰っていく実装になっているので,好みの表示を優先するのは selectNode() だけオーバーライドすればなんとかなるはず.
d (object) : TsuikyoWord.dat オブジェクト
boolean array : その位置でオートマトンが収束しているかのフラグリスト
Cancelable 判定実装のための内部関数.dat を読んで,「そのノードを経由せずにはそのノードより先に進むことができないようなノード」(shutNode)のあるパース対象文字列位置を調べる.その位置まで来たらキャンセル入力用ノードをクリアする.
Tsuikyo において意味を持っている値などについて.