1. Go-Block とは
日本語の単語辞書から、ブロックを組み立てるだけで「こんな条件の単語」を探せるツールです。言葉遊びやパズルの検索に向いています。
例:「7文字で回文になる単語」「『こたえは』と3文字を並べ替えた形が単語になるもの」。
2. 基本の流れ
- 辞書を読み込む: 起動すると自動で辞書を読み込みます(ヘッダー右の表示が「辞書ロード完了」になれば準備完了)。
- ブロックを組む: 左のツールボックスからブロックを置き、条件を作ります。「例題プリセット」「○ん△プリセット」で見本を呼び出せます。
- 「▶ 探索を実行」: 全単語から条件に合うものを探します。探索中はボタンが「■ 中止」に変わり、押すとそこまでの結果を表示して止まります。
- 結果を見る: 右側に読みごとの一覧が出ます。
3. ブロックの形と色
| 種類 | 見た目 | 説明 |
| 条件(真偽値) | 青い積み木(上に切り欠き) | 「成り立つ/成り立たない」を表します。下には何もつながりません。 |
| AND・OR・NOT | 薄い青の C字・E字の積み木 | 中の枠に条件を入れます。AND は「すべて」、OR は「どれか」、NOT は「ではない」。 |
| 数値 | 緑の丸 | 数や文字数など。 |
| 文字列 | ピンクの四角 | 文字や単語など。 |
| リスト | オレンジの六角形 | 文字列の組み合わせの一覧。exists ブロックに渡して使います。 |
条件の積み木は、AND・OR・NOT・exists の枠、またはいちばん上(探索条件)にだけ置けます。数値・文字列・リストは、同じ形の穴にだけはまります。
4. AND / OR の使い方
- 最初は枠が1つ(C字)です。枠に条件を入れると、下に空きの枠が増えていきます(E字、…)。
- 条件を外すと、空いた枠は自動で詰まります。
- 条件は上から順に調べます。AND では、軽い条件(文字数など)を上に置くと探索が速くなります。
- 探索条件になるのは、いちばん上(左)の条件ブロック1つです。たいていは AND を1つ置き、その中に条件を入れます。
5. 主なブロック
| カテゴリ | ブロック |
| ロジック | すべて満たす(AND) / どれかを満たす(OR) / ではない(NOT) / 比較(= ≠ < ≦ > ≧)/ 常に成り立つ・成り立たない |
| 数値・文字列 | 数値 / 文字列 / 結合(穴が自動で増える。最後の穴を埋めると次の穴が出ます) |
| 単語プロパティ | 単語の文字数・品詞・表記・優先度・単語そのもの / 「単語の品詞が ○○」(選択式) |
| パズル・類似度 | アナグラム距離 / 異なる文字数(ハミング距離) / 文字数カウント / 文字が重複していない / 回文である / 先頭・末尾N文字 / ワイルドカード一致(?=任意の1文字)/ 正規表現に一致 |
| 辞書・文字操作 | 辞書にある言葉である / 辞書の優先度 / N文字目 / 文字群をすべて含む / 文字群を取り除いた残り / 並べ替え |
| 組み合わせ探索 | 組み合わせ(リスト)/ リストの中に条件を満たす候補が存在する(exists) / 候補文字 |
正規表現: JavaScript の正規表現です。部分一致なので、全体に一致させたいときは ^(先頭)と $(末尾)を付けます。
例: ^.ん.$(3文字で真ん中が「ん」)、^[あ-お]+$(あ行だけ)、(.)\1(同じ文字が続く)。対象は「読み」か「表記」を選べます。
6. 結果の見方
- 読みごとに1行: 同じ読みの単語はまとめ、代表(優先度が最も高い表記)を表示します。件数のバッジが付いた行をクリックすると、他の候補(表記・意味・品詞・出典)が開きます。
- 優先度順: 優先度の高い順に、上位500読みまで表示します(件数は全体を数えています)。
- 補足:
exists が見つけた候補が出ます(例:「○ん△」の ○ん△ の部分)。
- 条件ごとの通過数: 最上位が AND のとき、条件を上から順に絞り込んだ数が出ます。0 件になった条件が赤で示されるので、「どこで消えたか」が分かります。
7. JavaScript を直接編集する
「生成された JavaScript」欄の「JSを直接編集」をオンにすると、コードを書き換えて探索できます。
- ブロックとは同期しません。ブロックを変えてもコードは変わらず、探索はコード欄の内容で実行されます。
- 「ブロックから再生成」で、いまのブロックからコードを作り直せます(編集内容は消えます)。
- 書けるのは式(例
length() == 5 && isPalindrome())か、return を使った関数の本体です。w が調べている単語です。
- 使える関数は、ヘッダーの「JS関数一覧」で確認できます。関数名をクリックすると、その例が、編集中ならコード欄に挿入、そうでなければコピーされます。
- 直接編集中は、「条件ごとの通過数」は出ません。
8. 辞書について
- 辞書は最初の1回だけダウンロードし、ブラウザに保存して次回から使います(通信なしで起動)。
- 辞書を新しくしたいときは、ヘッダーの「辞書を再取得」を押してください。
- 自動で取得できないときは「辞書ファイルを選択」で、手元の
.kdb.gz を直接読み込めます(この場合は保存されません)。
9. 知っておくと便利なこと
- 「表記」「品詞」「優先度」を使う条件は、同じ読みでも1つずつ調べるため、読みだけの条件より少し時間がかかります。
- 回文などは1文字でも成り立つので、「文字数 ≧ 3」のような条件を併せて使います。
- 品詞の選択肢は、辞書作成スクリプトの品詞名(普通名詞・固有名詞など)です。
- 枠が長くなっても、ブロックの外側の枠は広がらず、中身が右へ伸びていきます。
- 左右の境界線をドラッグすると、ブロック領域と結果欄の幅を変えられます(ダブルクリックで元に戻ります)。