nadesiko3 3.4.5 → 3.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +5 -1
  2. package/batch/command.txt +109 -109
  3. package/core/core.code-workspace +8 -0
  4. package/core/deno/plugin_snako_deno.ts +109 -0
  5. package/core/deno/snako.ts +116 -0
  6. package/core/deno_build_ver.sh +4 -0
  7. package/core/deno_hello.sh +7 -0
  8. package/core/index.mjs +8 -2
  9. package/core/index.mts +8 -2
  10. package/core/package-lock.json +518 -2617
  11. package/core/package.json +3 -3
  12. package/core/sample/hello2.nako3 +2 -0
  13. package/core/src/nako_core_version.mjs +2 -2
  14. package/core/src/nako_core_version.mts +2 -2
  15. package/core/src/nako_gen.mjs +3 -2
  16. package/core/src/nako_gen.mts +3 -2
  17. package/core/src/nako_parser3.mjs +56 -36
  18. package/core/src/nako_parser3.mts +55 -39
  19. package/core/src/nako_parser_base.mjs +1 -0
  20. package/core/src/nako_parser_base.mts +2 -0
  21. package/core/src/nako_types.mts +4 -3
  22. package/core/src/plugin_system.mjs +2 -1
  23. package/core/src/plugin_system.mts +2 -1
  24. package/core/test/func_call.mjs +5 -2
  25. package/core/test/plugin_system_test.mjs +6 -0
  26. package/core/tsconfig.json +3 -2
  27. package/doc/SETUP.md +7 -5
  28. package/doc/about.md +1 -2
  29. package/doc/files.md +0 -1
  30. package/doc/plugins.md +0 -1
  31. package/doc/release.md +2 -2
  32. package/doc/textlint.md +4 -1
  33. package/package.json +1 -1
  34. package/release/_hash.txt +16 -16
  35. package/release/_script-tags.txt +14 -14
  36. package/release/nako_gen_async.js +1 -1
  37. package/release/nako_gen_async.js.map +1 -1
  38. package/release/stats.json +1 -1
  39. package/release/version.js +1 -1
  40. package/release/version.js.map +1 -1
  41. package/release/wnako3.js +1 -1
  42. package/release/wnako3.js.map +1 -1
  43. package/release/wnako3webworker.js +1 -1
  44. package/release/wnako3webworker.js.map +1 -1
  45. package/src/nako_version.mjs +2 -2
  46. package/src/nako_version.mts +2 -2
package/README.md CHANGED
@@ -122,7 +122,8 @@ npm run test:all
122
122
 
123
123
  ## なでしこの開発履歴
124
124
 
125
- 「なでしこ3」の開発は2017年に始まり、以後コツコツとバージョンアップを続けています。「誰でも簡単プログラマー」の目標を実現するために、これからも頑張ります。
125
+ 「なでしこ3」の開発は2017年に始まり、以後コツコツとバージョンアップを続けています。
126
+ 「誰でも簡単プログラマー」の目標を実現するために、これからも頑張ります。
126
127
 
127
128
  - (2022-05-19) v3.3.18でJavaScriptからTypeScriptへ変更。言語コアを別リポジトリに移動
128
129
  - (2022-04-20) v3.3.2を公開(モジュール構造をCommonJS→ESModuleへ変更/asyncFnの実装)
@@ -158,6 +159,9 @@ npm run test:all
158
159
  - [nadesiko3webkit - なでしこ3軽量配布キット(webkit版)](https://github.com/kujirahand/nadesiko3webkit)
159
160
  - [nadesiko3electron - なでしこ3フル配布キット(electron版)](https://github.com/kujirahand/nadesiko3electron)
160
161
  - [nadesiko3win32 - なでしこ3(コンソール版)のWindows配布パッケージ](https://github.com/kujirahand/nadesiko3win32/releases)
162
+ - サーバーサイドJavaScriptエンジン用の実装
163
+ - [nadesiko3(Node.js)](https://github.com/kujirahand/nadesiko3)
164
+ - [nadesiko3(Deno)](https://github.com/kujirahand/nadesiko3deno)
161
165
  - 実験的に別言語で実装したなでしこ3
162
166
  - [nadesiko3php - なでしこ3PHP](https://github.com/kujirahand/nadesiko3php)
163
167
  - [nadesiko3rust - なでしこ3Rust](https://github.com/kujirahand/nadesiko3rust)
package/batch/command.txt CHANGED
@@ -181,124 +181,124 @@
181
181
  | 関数 | 数字判定 | Sを/Sが | 文字列Sの1文字目が数字か判定 | すうじかはんてい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1494
182
182
  | 関数 | 数列判定 | Sを/Sが | 文字列S全部が数字か判定 | すうれつかはんてい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1503
183
183
  ●配列操作
184
- | 関数 | 配列結合 | AをSで | 配列Aを文字列Sでつなげて文字列で返す | はいれつけつごう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1513
185
- | 関数 | 配列検索 | AのSを/Aから | 配列Aから文字列Sを探してインデックス番号(0起点)を返す。見つからなければ-1を返す。 | はいれつけんさく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1525
186
- | 関数 | 配列要素数 | Aの | 配列Aの要素数を返す | はいれつようそすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1535
187
- | 関数 | 要素数 | Aの | 配列Aの要素数を返す | ようそすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1547
188
- | 関数 | 配列挿入 | AのIにSを/Iへ | 配列AのI番目(0起点)に要素Sを追加して返す(v1非互換) | はいれつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1555
189
- | 関数 | 配列一括挿入 | AのIにBを/Iへ | 配列AのI番目(0起点)に配列bを追加して返す(v1非互換) | はいれついっかつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1565
190
- | 関数 | 配列ソート | Aの/Aを | 配列Aをソートして返す(A自体を変更) | はいれつそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1578
191
- | 関数 | 配列数値ソート | Aの/Aを | 配列Aをソートして返す(A自体を変更) | はいれつすうちそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1588
192
- | 関数 | 配列カスタムソート | FでAの/Aを | 関数Fで配列Aをソートして返す(引数A自体を変更) | はいれつかすたむそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1603
193
- | 関数 | 配列逆順 | Aの/Aを | 配列Aを逆にして返す。Aを書き換える(A自体を変更)。 | はいれつぎゃくじゅん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1618
194
- | 関数 | 配列シャッフル | Aの/Aを | 配列Aをシャッフルして返す。Aを書き換える | はいれつしゃっふる | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1627
195
- | 関数 | 配列削除 | AのIを/Aから | 配列AのI番目(0起点)の要素を削除して返す。Aの内容を書き換える。辞書型変数ならキーIを削除する。 | はいれつさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1644
196
- | 関数 | 配列切取 | AのIを/Aから | 配列AのI番目(0起点)の要素を切り取って返す。Aの内容を書き換える。辞書型変数ならキーIを削除する。 | はいれつきりとる | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1652
197
- | 関数 | 配列取出 | AのIからCNTを | 配列AのI番目(0起点)からCNT個の要素を取り出して返す。Aの内容を書き換える | はいれつとりだし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1675
198
- | 関数 | 配列ポップ | Aの/Aから | 配列Aの末尾を取り出して返す。Aの内容を書き換える。 | はいれつぽっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1684
199
- | 関数 | 配列プッシュ | AにBを/Aへ | 配列Aの末尾にNを追加。Aの内容を書き換える。(『配列追加』と同じ) | はいれつぷっしゅ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1693
200
- | 関数 | 配列追加 | AにBを/Aへ | 配列Aの末尾にBを追加して返す。Aの内容を書き換える。 | はいれつついか | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1701
201
- | 関数 | 配列複製 | Aを | 配列Aを複製して返す。 | はいれつふくせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1713
202
- | 関数 | 配列足 | AにBを/Aへ/Aと | 配列Aに配列Bを足し合わせて返す。 | はいれつたす | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1721
203
- | 関数 | 配列最大値 | Aの | 配列Aの値の最大値を調べて返す。 | はいれつさいだいち | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1732
204
- | 関数 | 配列最小値 | Aの | 配列Aの値の最小値を調べて返す。 | はいれつさいしょうち | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1740
205
- | 関数 | 配列合計 | Aの | 配列Aの値を全て足して返す。配列の各要素を数値に変換して計算する。数値に変換できない文字列は0になる。 | はいれつごうけい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1748
206
- | 関数 | 配列入替 | AのIとJを | 配列Aの(0から数えて)I番目とJ番目の要素を入れ替えて返す。Aの内容を書き換える。 | はいれついれかえ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1765
207
- | 関数 | 配列連番作成 | AからBまでの/Bまで/Bの | AからBまでの連番配列を生成して返す。 | はいれつれんばんさくせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1779
208
- | 関数 | 配列要素作成 | AをBだけ | 値AをB個持つ配列を生成して返す。 | はいれつようそさくせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1791
209
- | 関数 | 配列関数適用 | FをAへ/Aに | 引数を1つ持つ関数Fを、配列Aの全要素に適用した、新しい配列を返す。 | はいれつかんすうてきよう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1803
210
- | 関数 | 配列マップ | FをAへ/Aに | 引数を1つ持つ関数Fを、配列Aの全要素に適用した、新しい配列を返す。(『配列関数適用』と同じ) | はいれつまっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1817
211
- | 関数 | 配列フィルタ | FでAを/FのAについて | 引数を1つ持ち真偽を返す関数Fを利用して、配列Aの要素をフィルタして、新しい配列として返す。 | はいれつふぃるた | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1825
184
+ | 関数 | 配列結合 | AをSで | 配列Aを文字列Sでつなげて文字列で返す | はいれつけつごう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1514
185
+ | 関数 | 配列検索 | AのSを/Aから | 配列Aから文字列Sを探してインデックス番号(0起点)を返す。見つからなければ-1を返す。 | はいれつけんさく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1526
186
+ | 関数 | 配列要素数 | Aの | 配列Aの要素数を返す | はいれつようそすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1536
187
+ | 関数 | 要素数 | Aの | 配列Aの要素数を返す | ようそすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1548
188
+ | 関数 | 配列挿入 | AのIにSを/Iへ | 配列AのI番目(0起点)に要素Sを追加して返す(v1非互換) | はいれつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1556
189
+ | 関数 | 配列一括挿入 | AのIにBを/Iへ | 配列AのI番目(0起点)に配列bを追加して返す(v1非互換) | はいれついっかつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1566
190
+ | 関数 | 配列ソート | Aの/Aを | 配列Aをソートして返す(A自体を変更) | はいれつそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1579
191
+ | 関数 | 配列数値ソート | Aの/Aを | 配列Aをソートして返す(A自体を変更) | はいれつすうちそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1589
192
+ | 関数 | 配列カスタムソート | FでAの/Aを | 関数Fで配列Aをソートして返す(引数A自体を変更) | はいれつかすたむそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1604
193
+ | 関数 | 配列逆順 | Aの/Aを | 配列Aを逆にして返す。Aを書き換える(A自体を変更)。 | はいれつぎゃくじゅん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1619
194
+ | 関数 | 配列シャッフル | Aの/Aを | 配列Aをシャッフルして返す。Aを書き換える | はいれつしゃっふる | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1628
195
+ | 関数 | 配列削除 | AのIを/Aから | 配列AのI番目(0起点)の要素を削除して返す。Aの内容を書き換える。辞書型変数ならキーIを削除する。 | はいれつさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1645
196
+ | 関数 | 配列切取 | AのIを/Aから | 配列AのI番目(0起点)の要素を切り取って返す。Aの内容を書き換える。辞書型変数ならキーIを削除する。 | はいれつきりとる | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1653
197
+ | 関数 | 配列取出 | AのIからCNTを | 配列AのI番目(0起点)からCNT個の要素を取り出して返す。Aの内容を書き換える | はいれつとりだし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1676
198
+ | 関数 | 配列ポップ | Aの/Aから | 配列Aの末尾を取り出して返す。Aの内容を書き換える。 | はいれつぽっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1685
199
+ | 関数 | 配列プッシュ | AにBを/Aへ | 配列Aの末尾にNを追加。Aの内容を書き換える。(『配列追加』と同じ) | はいれつぷっしゅ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1694
200
+ | 関数 | 配列追加 | AにBを/Aへ | 配列Aの末尾にBを追加して返す。Aの内容を書き換える。 | はいれつついか | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1702
201
+ | 関数 | 配列複製 | Aを | 配列Aを複製して返す。 | はいれつふくせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1714
202
+ | 関数 | 配列足 | AにBを/Aへ/Aと | 配列Aに配列Bを足し合わせて返す。 | はいれつたす | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1722
203
+ | 関数 | 配列最大値 | Aの | 配列Aの値の最大値を調べて返す。 | はいれつさいだいち | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1733
204
+ | 関数 | 配列最小値 | Aの | 配列Aの値の最小値を調べて返す。 | はいれつさいしょうち | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1741
205
+ | 関数 | 配列合計 | Aの | 配列Aの値を全て足して返す。配列の各要素を数値に変換して計算する。数値に変換できない文字列は0になる。 | はいれつごうけい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1749
206
+ | 関数 | 配列入替 | AのIとJを | 配列Aの(0から数えて)I番目とJ番目の要素を入れ替えて返す。Aの内容を書き換える。 | はいれついれかえ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1766
207
+ | 関数 | 配列連番作成 | AからBまでの/Bまで/Bの | AからBまでの連番配列を生成して返す。 | はいれつれんばんさくせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1780
208
+ | 関数 | 配列要素作成 | AをBだけ | 値AをB個持つ配列を生成して返す。 | はいれつようそさくせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1792
209
+ | 関数 | 配列関数適用 | FをAへ/Aに | 引数を1つ持つ関数Fを、配列Aの全要素に適用した、新しい配列を返す。 | はいれつかんすうてきよう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1804
210
+ | 関数 | 配列マップ | FをAへ/Aに | 引数を1つ持つ関数Fを、配列Aの全要素に適用した、新しい配列を返す。(『配列関数適用』と同じ) | はいれつまっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1818
211
+ | 関数 | 配列フィルタ | FでAを/FのAについて | 引数を1つ持ち真偽を返す関数Fを利用して、配列Aの要素をフィルタして、新しい配列として返す。 | はいれつふぃるた | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1826
212
212
  ●二次元配列処理
213
- | 関数 | 表ソート | AのNOを | 二次元配列AでB列目(0起点)(あるいはキー名)をキーに文字列順にソートする。Aの内容を書き換える。 | ひょうそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1840
214
- | 関数 | 表数値ソート | AのNOを | 二次元配列AでB列目(0起点)(あるいはキー名)をキーに数値順にソートする。Aの内容を書き換える。 | ひょうすうちそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1863
215
- | 関数 | 表ピックアップ | AのNOからSを/Sで | 配列Aの列番号B(0起点)(あるいはキー名)で検索文字列Sを含む行を返す | ひょうぴっくあっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1879
216
- | 関数 | 表完全一致ピックアップ | AのNOからSを/Sで | 配列Aの列番号B(0起点)(あるいはキー名)で検索文字列Sと一致する行を返す | ひょうぴっくあっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1888
217
- | 関数 | 表検索 | AのCOLでROWからSを/COLに | 二次元配列AでCOL列目(0起点)からキーSを含む行をROW行目から検索して何行目にあるか返す。見つからなければ-1を返す。 | ひょうけんさく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1897
218
- | 関数 | 表列数 | Aの | 二次元配列Aの列数を調べて返す。 | ひょうれつすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1909
219
- | 関数 | 表行数 | Aの | 二次元配列Aの行数を調べて返す。 | ひょうぎょうすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1922
220
- | 関数 | 表行列交換 | Aの/Aを | 二次元配列Aの行と列を交換して返す。 | ひょうぎょうれつこうかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1931
221
- | 関数 | 表右回転 | Aの/Aを | 二次元配列Aを90度回転して返す。 | ひょうみぎかいてん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1950
222
- | 関数 | 表重複削除 | AのIを/Iで | 二次元配列AのI列目にある重複項目を削除して返す。 | ひょうじゅうふくさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1969
223
- | 関数 | 表列取得 | AのIを | 二次元配列AのI列目を返す。 | ひょうれつしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1987
224
- | 関数 | 表列挿入 | AのIにSを/Iへ | 二次元配列Aの(0から数えて)I列目に配列Sを挿入して返す | ひょうれつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1997
225
- | 関数 | 表列削除 | AのIを | 二次元配列Aの(0から数えて)I列目削除して返す | ひょうれつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2014
226
- | 関数 | 表列合計 | AのIを/Iで | 二次元配列Aの(0から数えて)I列目を合計して返す。 | ひょうれつごうけい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2029
227
- | 関数 | 表曖昧検索 | AのROWからCOLでSを | 二次元配列AのROW行目からCOL列目(0起点)で正規表現Sにマッチする行を検索して何行目にあるか返す。見つからなければ-1を返す。(v1非互換) | ひょうれつあいまいけんさく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2040
228
- | 関数 | 表正規表現ピックアップ | AのCOLからSを/Aで | 二次元配列AでI列目(0起点)から正規表現パターンSにマッチする行をピックアップして返す。 | ひょうせいきひょうげんぴっくあっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2054
213
+ | 関数 | 表ソート | AのNOを | 二次元配列AでB列目(0起点)(あるいはキー名)をキーに文字列順にソートする。Aの内容を書き換える。 | ひょうそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1841
214
+ | 関数 | 表数値ソート | AのNOを | 二次元配列AでB列目(0起点)(あるいはキー名)をキーに数値順にソートする。Aの内容を書き換える。 | ひょうすうちそーと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1864
215
+ | 関数 | 表ピックアップ | AのNOからSを/Sで | 配列Aの列番号B(0起点)(あるいはキー名)で検索文字列Sを含む行を返す | ひょうぴっくあっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1880
216
+ | 関数 | 表完全一致ピックアップ | AのNOからSを/Sで | 配列Aの列番号B(0起点)(あるいはキー名)で検索文字列Sと一致する行を返す | ひょうぴっくあっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1889
217
+ | 関数 | 表検索 | AのCOLでROWからSを/COLに | 二次元配列AでCOL列目(0起点)からキーSを含む行をROW行目から検索して何行目にあるか返す。見つからなければ-1を返す。 | ひょうけんさく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1898
218
+ | 関数 | 表列数 | Aの | 二次元配列Aの列数を調べて返す。 | ひょうれつすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1910
219
+ | 関数 | 表行数 | Aの | 二次元配列Aの行数を調べて返す。 | ひょうぎょうすう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1923
220
+ | 関数 | 表行列交換 | Aの/Aを | 二次元配列Aの行と列を交換して返す。 | ひょうぎょうれつこうかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1932
221
+ | 関数 | 表右回転 | Aの/Aを | 二次元配列Aを90度回転して返す。 | ひょうみぎかいてん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1951
222
+ | 関数 | 表重複削除 | AのIを/Iで | 二次元配列AのI列目にある重複項目を削除して返す。 | ひょうじゅうふくさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1970
223
+ | 関数 | 表列取得 | AのIを | 二次元配列AのI列目を返す。 | ひょうれつしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1988
224
+ | 関数 | 表列挿入 | AのIにSを/Iへ | 二次元配列Aの(0から数えて)I列目に配列Sを挿入して返す | ひょうれつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L1998
225
+ | 関数 | 表列削除 | AのIを | 二次元配列Aの(0から数えて)I列目削除して返す | ひょうれつそうにゅう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2015
226
+ | 関数 | 表列合計 | AのIを/Iで | 二次元配列Aの(0から数えて)I列目を合計して返す。 | ひょうれつごうけい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2030
227
+ | 関数 | 表曖昧検索 | AのROWからCOLでSを | 二次元配列AのROW行目からCOL列目(0起点)で正規表現Sにマッチする行を検索して何行目にあるか返す。見つからなければ-1を返す。(v1非互換) | ひょうれつあいまいけんさく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2041
228
+ | 関数 | 表正規表現ピックアップ | AのCOLからSを/Aで | 二次元配列AでI列目(0起点)から正規表現パターンSにマッチする行をピックアップして返す。 | ひょうせいきひょうげんぴっくあっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2055
229
229
  ●辞書型変数の操作
230
- | 関数 | 辞書キー列挙 | Aの | 辞書型変数Aのキーの一覧を配列で返す。 | じしょきーれっきょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2070
231
- | 関数 | 辞書キー削除 | AからKEYを/Aの | 辞書型変数AからキーKEYを削除して返す(A自体を変更する)。 | じしょきーさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2087
232
- | 関数 | 辞書キー存在 | AのKEYが/Aに | 辞書型変数AのキーKEYが存在するか確認 | じしょきーそんざい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2099
230
+ | 関数 | 辞書キー列挙 | Aの | 辞書型変数Aのキーの一覧を配列で返す。 | じしょきーれっきょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2071
231
+ | 関数 | 辞書キー削除 | AからKEYを/Aの | 辞書型変数AからキーKEYを削除して返す(A自体を変更する)。 | じしょきーさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2088
232
+ | 関数 | 辞書キー存在 | AのKEYが/Aに | 辞書型変数AのキーKEYが存在するか確認 | じしょきーそんざい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2100
233
233
  ●ハッシュ
234
- | 関数 | ハッシュキー列挙 | Aの | ハッシュAのキー一覧を配列で返す。 | はっしゅきーれっきょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2108
235
- | 関数 | ハッシュ内容列挙 | Aの | ハッシュAの内容一覧を配列で返す。 | はっしゅないようれっきょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2116
236
- | 関数 | ハッシュキー削除 | AからKEYを/Aの | ハッシュAからキーKEYを削除して返す。 | はっしゅきーさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2129
237
- | 関数 | ハッシュキー存在 | AのKEYが/Aに | ハッシュAのキーKEYが存在するか確認 | はっしゅきーそんざい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2137
234
+ | 関数 | ハッシュキー列挙 | Aの | ハッシュAのキー一覧を配列で返す。 | はっしゅきーれっきょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2109
235
+ | 関数 | ハッシュ内容列挙 | Aの | ハッシュAの内容一覧を配列で返す。 | はっしゅないようれっきょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2117
236
+ | 関数 | ハッシュキー削除 | AからKEYを/Aの | ハッシュAからキーKEYを削除して返す。 | はっしゅきーさくじょ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2130
237
+ | 関数 | ハッシュキー存在 | AのKEYが/Aに | ハッシュAのキーKEYが存在するか確認 | はっしゅきーそんざい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2138
238
238
  ●タイマー
239
- | 関数 | 秒待 | N | N秒の間待機する | びょうまつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2147
240
- | 関数 | 秒待機 | N | N秒の間待機する(『秒待』と同じ) | びょうたいき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2172
241
- | 関数 | 秒逐次待機 | N | (非推奨) 逐次実行構文にて、N秒の間待機する (廃止予定) | びょうちくじたいき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2183
242
- | 関数 | 秒後 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒後に実行する。変数『対象』にタイマーIDを代入する。 | びょうご | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2193
243
- | 関数 | 秒毎 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『タイマー停止』で停止できる)。変数『対象』にタイマーIDを代入する。 | びょうごと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2221
244
- | 関数 | 秒タイマー開始時 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『秒毎』と同じ) | びょうたいまーかいししたとき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2239
245
- | 関数 | タイマー停止 | TIMERIDの/TIMERIDで | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを停止する | たいまーていし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2247
246
- | 関数 | 全タイマー停止 | | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを全部停止する | ぜんたいまーていし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2268
239
+ | 関数 | 秒待 | N | N秒の間待機する | びょうまつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2148
240
+ | 関数 | 秒待機 | N | N秒の間待機する(『秒待』と同じ) | びょうたいき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2173
241
+ | 関数 | 秒逐次待機 | N | (非推奨) 逐次実行構文にて、N秒の間待機する (廃止予定) | びょうちくじたいき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2184
242
+ | 関数 | 秒後 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒後に実行する。変数『対象』にタイマーIDを代入する。 | びょうご | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2194
243
+ | 関数 | 秒毎 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『タイマー停止』で停止できる)。変数『対象』にタイマーIDを代入する。 | びょうごと | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2222
244
+ | 関数 | 秒タイマー開始時 | FをN | 無名関数(あるいは、文字列で関数名を指定)FをN秒ごとに実行する(『秒毎』と同じ) | びょうたいまーかいししたとき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2240
245
+ | 関数 | タイマー停止 | TIMERIDの/TIMERIDで | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを停止する | たいまーていし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2248
246
+ | 関数 | 全タイマー停止 | | 『秒毎』『秒後』や『秒タイマー開始』で開始したタイマーを全部停止する | ぜんたいまーていし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2269
247
247
  ●日時処理(簡易)
248
- | 定数 | 元号データ | | [{ '元号': '令和', '改元日': '2019/05/01' }, { '元号': '平成', '改元日': '1989/01/08' }, { '元号': '昭和', '改元日': '1926/12/25' }, { '元号': '大正', '改元日': '1912/07/30' }, { '元号': '明治', '改元日': '1868/10/23' }] | げんごうでーた | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2285
249
- | 関数 | 今 | | 現在時刻を「HH:mm:ss」の形式で返す | いま | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2290
250
- | 関数 | システム時間 | | 現在のUNIX時間 (UTC(1970/1/1)からの経過秒数) を返す | しすてむじかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2303
251
- | 関数 | システム時間ミリ秒 | | 現在のUNIX時間 (UTC(1970/1/1)からの経過秒数) をミリ秒で返す | しすてむじかんみりびょう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2312
252
- | 関数 | 今日 | | 今日の日付を「YYYY/MM/DD」の形式で返す | きょう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2321
253
- | 関数 | 明日 | | 明日の日付を「YYYY/MM/DD」の形式で返す | あした | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2329
254
- | 関数 | 昨日 | | 昨日の日付を「YYYY/MM/DD」の形式で返す | きのう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2338
255
- | 関数 | 今年 | | 今年が何年かを西暦で返す | ことし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2347
256
- | 関数 | 来年 | | 来年が何年かを西暦で返す | らいねん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2355
257
- | 関数 | 去年 | | 去年が何年かを西暦で返す | きょねん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2363
258
- | 関数 | 今月 | | 今月が何月かを返す | こんげつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2371
259
- | 関数 | 来月 | | 来月が何月かを返す | らいげつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2379
260
- | 関数 | 先月 | | 先月が何月かをかえす | せんげつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2387
261
- | 関数 | 曜日 | Sの | Sに指定した日付の曜日をで返す。不正な日付の場合は今日の曜日番号を返す。 | ようび | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2395
262
- | 関数 | 曜日番号取得 | Sの | Sに指定した日付の曜日番号をで返す。不正な日付の場合は今日の曜日番号を返す。(0=日/1=月/2=火/3=水/4=木/5=金/6=土) | ようびばんごうしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2404
263
- | 関数 | UNIXTIME変換 | Sの/Sを/Sから | 日時SをUNIX時間 (UTC(1970/1/1)からの経過秒数) に変換して返す(v1非互換) | UNIXTIMEへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2414
264
- | 関数 | UNIX時間変換 | Sの/Sを/Sから | 日時SをUNIX時間 (UTC(1970/1/1)からの経過秒数) に変換して返す(v1非互換) | UNIXじかんへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2423
265
- | 関数 | 日時変換 | TMを/TMから | UNIX時間 (UTC(1970/1/1)からの経過秒数) を「YYYY/MM/DD HH:mm:ss」の形式に変換 | にちじへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2432
266
- | 関数 | 日時書式変換 | TMをFMTで | UNIX時間TM(または日付文字列)を「YYYY/MM/DD HH:mm:ss」または「YY-M-D H:m:s」その他、W:曜日、WWW:曜日英、MMM:月英、ccc:ミリ秒の書式に変換 | にちじしょしきへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2441
267
- | 関数 | 和暦変換 | Sを | Sを和暦に変換する。Sは明治以降の日付が有効。 | われきへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2471
268
- | 関数 | 年数差 | AとBの/AからBまでの | 日付AとBの差を年数で求めて返す。A<Bなら正の数、そうでないなら負の数を返す (v1非互換)。 | ねんすうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2491
269
- | 関数 | 月数差 | AとBの/AからBまでの | 日付AとBの差を月数で求めて返す。A<Bなら正の数、そうでないなら負の数を返す (v1非互換)。 | げっすうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2501
270
- | 関数 | 日数差 | AとBの/AからBまでの | 日付AとBの差を日数で求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | にっすうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2512
271
- | 関数 | 時間差 | AとBの/AからBまでの | 時間AとBの時間の差を求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | じかんさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2523
272
- | 関数 | 分差 | AとBの/AからBまでの | 時間AとBの分数の差を求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | ふんさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2534
273
- | 関数 | 秒差 | AとBの/AからBまでの | 時間AとBの差を秒差で求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | びょうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2545
274
- | 関数 | 日時差 | AとBのUNITによる/AからBまでの | 日時AとBの差を種類unitで返す。A<Bなら正の数、そうでないなら負の数を返す (v1非互換)。 | にちじさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2556
275
- | 関数 | 時間加算 | SにAを | 時間SにAを加えて返す。Aには「(+|-)hh:nn:dd」で指定する。 | じかんかさん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2572
276
- | 関数 | 日付加算 | SにAを | 日付SにAを加えて返す。Aには「(+|-)yyyy/mm/dd」で指定する。 | ひづけかさん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2591
277
- | 関数 | 日時加算 | SにAを | 日時SにAを加えて返す。Aは「(+|-)1(年/ヶ月/日/週/時間/分/秒)」のように指定する (v1非互換)。 | にちじかさん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2613
278
- | 関数 | 時間ミリ秒取得 | | ミリ秒単位の時間を数値で返す。結果は実装に依存する。 | じかんみりびょうしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2631
248
+ | 定数 | 元号データ | | [{ '元号': '令和', '改元日': '2019/05/01' }, { '元号': '平成', '改元日': '1989/01/08' }, { '元号': '昭和', '改元日': '1926/12/25' }, { '元号': '大正', '改元日': '1912/07/30' }, { '元号': '明治', '改元日': '1868/10/23' }] | げんごうでーた | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2286
249
+ | 関数 | 今 | | 現在時刻を「HH:mm:ss」の形式で返す | いま | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2291
250
+ | 関数 | システム時間 | | 現在のUNIX時間 (UTC(1970/1/1)からの経過秒数) を返す | しすてむじかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2304
251
+ | 関数 | システム時間ミリ秒 | | 現在のUNIX時間 (UTC(1970/1/1)からの経過秒数) をミリ秒で返す | しすてむじかんみりびょう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2313
252
+ | 関数 | 今日 | | 今日の日付を「YYYY/MM/DD」の形式で返す | きょう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2322
253
+ | 関数 | 明日 | | 明日の日付を「YYYY/MM/DD」の形式で返す | あした | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2330
254
+ | 関数 | 昨日 | | 昨日の日付を「YYYY/MM/DD」の形式で返す | きのう | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2339
255
+ | 関数 | 今年 | | 今年が何年かを西暦で返す | ことし | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2348
256
+ | 関数 | 来年 | | 来年が何年かを西暦で返す | らいねん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2356
257
+ | 関数 | 去年 | | 去年が何年かを西暦で返す | きょねん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2364
258
+ | 関数 | 今月 | | 今月が何月かを返す | こんげつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2372
259
+ | 関数 | 来月 | | 来月が何月かを返す | らいげつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2380
260
+ | 関数 | 先月 | | 先月が何月かをかえす | せんげつ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2388
261
+ | 関数 | 曜日 | Sの | Sに指定した日付の曜日をで返す。不正な日付の場合は今日の曜日番号を返す。 | ようび | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2396
262
+ | 関数 | 曜日番号取得 | Sの | Sに指定した日付の曜日番号をで返す。不正な日付の場合は今日の曜日番号を返す。(0=日/1=月/2=火/3=水/4=木/5=金/6=土) | ようびばんごうしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2405
263
+ | 関数 | UNIXTIME変換 | Sの/Sを/Sから | 日時SをUNIX時間 (UTC(1970/1/1)からの経過秒数) に変換して返す(v1非互換) | UNIXTIMEへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2415
264
+ | 関数 | UNIX時間変換 | Sの/Sを/Sから | 日時SをUNIX時間 (UTC(1970/1/1)からの経過秒数) に変換して返す(v1非互換) | UNIXじかんへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2424
265
+ | 関数 | 日時変換 | TMを/TMから | UNIX時間 (UTC(1970/1/1)からの経過秒数) を「YYYY/MM/DD HH:mm:ss」の形式に変換 | にちじへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2433
266
+ | 関数 | 日時書式変換 | TMをFMTで | UNIX時間TM(または日付文字列)を「YYYY/MM/DD HH:mm:ss」または「YY-M-D H:m:s」その他、W:曜日、WWW:曜日英、MMM:月英、ccc:ミリ秒の書式に変換 | にちじしょしきへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2442
267
+ | 関数 | 和暦変換 | Sを | Sを和暦に変換する。Sは明治以降の日付が有効。 | われきへんかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2472
268
+ | 関数 | 年数差 | AとBの/AからBまでの | 日付AとBの差を年数で求めて返す。A<Bなら正の数、そうでないなら負の数を返す (v1非互換)。 | ねんすうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2492
269
+ | 関数 | 月数差 | AとBの/AからBまでの | 日付AとBの差を月数で求めて返す。A<Bなら正の数、そうでないなら負の数を返す (v1非互換)。 | げっすうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2502
270
+ | 関数 | 日数差 | AとBの/AからBまでの | 日付AとBの差を日数で求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | にっすうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2513
271
+ | 関数 | 時間差 | AとBの/AからBまでの | 時間AとBの時間の差を求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | じかんさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2524
272
+ | 関数 | 分差 | AとBの/AからBまでの | 時間AとBの分数の差を求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | ふんさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2535
273
+ | 関数 | 秒差 | AとBの/AからBまでの | 時間AとBの差を秒差で求めて返す。A<Bなら正の数、そうでないなら負の数を返す。 | びょうさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2546
274
+ | 関数 | 日時差 | AとBのUNITによる/AからBまでの | 日時AとBの差を種類unitで返す。A<Bなら正の数、そうでないなら負の数を返す (v1非互換)。 | にちじさ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2557
275
+ | 関数 | 時間加算 | SにAを | 時間SにAを加えて返す。Aには「(+|-)hh:nn:dd」で指定する。 | じかんかさん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2573
276
+ | 関数 | 日付加算 | SにAを | 日付SにAを加えて返す。Aには「(+|-)yyyy/mm/dd」で指定する。 | ひづけかさん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2592
277
+ | 関数 | 日時加算 | SにAを | 日時SにAを加えて返す。Aは「(+|-)1(年/ヶ月/日/週/時間/分/秒)」のように指定する (v1非互換)。 | にちじかさん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2614
278
+ | 関数 | 時間ミリ秒取得 | | ミリ秒単位の時間を数値で返す。結果は実装に依存する。 | じかんみりびょうしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2632
279
279
  ●デバッグ支援
280
- | 関数 | エラー発生 | Sの/Sで | 故意にエラーSを発生させる | えらーはっせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2647
281
- | 関数 | __DEBUG | | デバッグモードにする | __DEBUG | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2655
282
- | 関数 | グローバル関数一覧取得 | | グローバル変数にある関数一覧を取得 | ぐろーばるかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2664
283
- | 関数 | システム関数一覧取得 | | システム関数の一覧を取得 | しすてむかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2679
284
- | 関数 | システム関数存在 | FNAMEが/FNAMEの | 文字列で関数名を指定してシステム関数が存在するかを調べる | しすてむかんすうそんざい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2694
285
- | 関数 | プラグイン一覧取得 | | 利用中のプラグイン一覧を得る | ぷらぐいんいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2702
286
- | 関数 | モジュール一覧取得 | | 取り込んだモジュール一覧を得る | もじゅーるいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2713
287
- | 関数 | 助詞一覧取得 | | 文法として定義されている助詞の一覧を取得する | じょしいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2725
288
- | 関数 | 予約語一覧取得 | | 文法として定義されている予約語の一覧を取得する | よやくごいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2743
280
+ | 関数 | エラー発生 | Sの/Sで | 故意にエラーSを発生させる | えらーはっせい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2648
281
+ | 関数 | __DEBUG | | デバッグモードにする | __DEBUG | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2656
282
+ | 関数 | グローバル関数一覧取得 | | グローバル変数にある関数一覧を取得 | ぐろーばるかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2665
283
+ | 関数 | システム関数一覧取得 | | システム関数の一覧を取得 | しすてむかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2680
284
+ | 関数 | システム関数存在 | FNAMEが/FNAMEの | 文字列で関数名を指定してシステム関数が存在するかを調べる | しすてむかんすうそんざい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2695
285
+ | 関数 | プラグイン一覧取得 | | 利用中のプラグイン一覧を得る | ぷらぐいんいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2703
286
+ | 関数 | モジュール一覧取得 | | 取り込んだモジュール一覧を得る | もじゅーるいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2714
287
+ | 関数 | 助詞一覧取得 | | 文法として定義されている助詞の一覧を取得する | じょしいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2726
288
+ | 関数 | 予約語一覧取得 | | 文法として定義されている予約語の一覧を取得する | よやくごいちらんしゅとく | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2744
289
289
  ●プラグイン管理
290
- | 定数 | プラグイン名 | | 'メイン' | ぷらぐいんめい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2762
291
- | 関数 | プラグイン名設定 | Sに/Sへ | プラグイン名をSに変更する(システムにより自動的に「メイン」あるいはプラグインのファイル名が呼ばれる) | プラグインめいせってい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2767
292
- | 定数 | 名前空間 | | '' | なまえくうかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2772
293
- | 関数 | 名前空間設定 | Sに/Sへ | 名前空間をSに設定する(システムにより自動的に変更される。ファイル名から拡張子を削ったもの) | なまえくうかんせってい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2777
294
- | 関数 | 名前空間ポップ | | システム利用のため呼ぶべからず。(名前空間を一つ前の値に戻す) | なまえくうかんぽっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2788
290
+ | 定数 | プラグイン名 | | 'メイン' | ぷらぐいんめい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2763
291
+ | 関数 | プラグイン名設定 | Sに/Sへ | プラグイン名をSに変更する(システムにより自動的に「メイン」あるいはプラグインのファイル名が呼ばれる) | プラグインめいせってい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2768
292
+ | 定数 | 名前空間 | | '' | なまえくうかん | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2773
293
+ | 関数 | 名前空間設定 | Sに/Sへ | 名前空間をSに設定する(システムにより自動的に変更される。ファイル名から拡張子を削ったもの) | なまえくうかんせってい | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2778
294
+ | 関数 | 名前空間ポップ | | システム利用のため呼ぶべからず。(名前空間を一つ前の値に戻す) | なまえくうかんぽっぷ | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2789
295
295
  ●URLエンコードとパラメータ
296
- | 関数 | URLエンコード | TEXTを/TEXTから | URLエンコードして返す | URLえんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2804
297
- | 関数 | URLデコード | TEXTを/TEXTへ/TEXTに | URLデコードして返す | URLでこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2812
298
- | 関数 | URLパラメータ解析 | URLを/URLの/URLから | URLパラメータを解析してハッシュで返す | URLぱらめーたかいせき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2820
296
+ | 関数 | URLエンコード | TEXTを/TEXTから | URLエンコードして返す | URLえんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2805
297
+ | 関数 | URLデコード | TEXTを/TEXTへ/TEXTに | URLデコードして返す | URLでこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2813
298
+ | 関数 | URLパラメータ解析 | URLを/URLの/URLから | URLパラメータを解析してハッシュで返す | URLぱらめーたかいせき | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2821
299
299
  ●BASE64
300
- | 関数 | BASE64エンコード | TEXTを/TEXTから | BASE64エンコードして返す | BASE64えんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2844
301
- | 関数 | BASE64デコード | TEXTを/TEXTへ/TEXTに | BASE64デコードして返す | BASE64でこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2862
300
+ | 関数 | BASE64エンコード | TEXTを/TEXTから | BASE64エンコードして返す | BASE64えんこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2845
301
+ | 関数 | BASE64デコード | TEXTを/TEXTへ/TEXTに | BASE64デコードして返す | BASE64でこーど | https://github.com/kujirahand/nadesiko3core/blob/main/src/plugin_system.mts#L2863
302
302
 
303
303
 
304
304
  ■plugin_csv(基本プラグイン,wnako,cnako)
@@ -0,0 +1,8 @@
1
+ {
2
+ "folders": [
3
+ {
4
+ "path": "."
5
+ }
6
+ ],
7
+ "settings": {}
8
+ }
@@ -0,0 +1,109 @@
1
+ /**
2
+ * file: plugin_snako.js
3
+ * 簡単なファイル読み書きのプラグイン
4
+ */
5
+ import path from 'node:path'
6
+ import { exec, OutputMode } from "https://deno.land/x/exec/mod.ts"
7
+
8
+ export default {
9
+ '初期化': {
10
+ type: 'func',
11
+ josi: [],
12
+ pure: true,
13
+ fn: function (sys: any) {
14
+ // command line
15
+ const args = [...Deno.args]
16
+ args.unshift(Deno.execPath())
17
+ // set path
18
+ sys.__getBokanPath = () => {
19
+ let nakofile
20
+ const cmd = path.basename(args[1])
21
+ if (cmd.indexOf('snako') < 0) { nakofile = args[1] } else { nakofile = args[2] }
22
+ return path.dirname(path.resolve(nakofile))
23
+ }
24
+ sys.__v0['コマンドライン'] = args
25
+ sys.__v0['ナデシコランタイムパス'] = args[0]
26
+ sys.__v0['ナデシコランタイム'] = path.basename(args[0])
27
+ sys.__v0['母艦パス'] = sys.__getBokanPath()
28
+ }
29
+ },
30
+ // @SNAKO
31
+ 'コマンドライン': { type: 'const', value: '' },
32
+ 'ナデシコランタイムパス': { type: 'const', value: '' },
33
+ 'ナデシコランタイム': { type: 'const', value: '' },
34
+ '母艦パス': { type: 'const', value: '' },
35
+ '読': { // @ ファイルFの内容を読む // @よむ
36
+ type: 'func',
37
+ josi: [['を', 'から']],
38
+ pure: true,
39
+ asyncFn: true,
40
+ fn: async function (f: string): Promise<string> {
41
+ const text = await Deno.readTextFile(f)
42
+ return text
43
+ }
44
+ },
45
+ '開': { // @ ファイルFの内容を読む // @ひらく
46
+ type: 'func',
47
+ josi: [['を', 'から']],
48
+ pure: true,
49
+ asynfFn: true,
50
+ fn: async function (f: string): Promise<string> {
51
+ const text = await Deno.readTextFile(f)
52
+ return text
53
+ }
54
+ },
55
+ '保存': { // @ 文字列SをファイルFに保存 // @ほぞん
56
+ type: 'func',
57
+ josi: [['を'], ['に', 'へ']],
58
+ pure: true,
59
+ asyncFn: true,
60
+ fn: async function (s: string, f: string): Promise<void> {
61
+ await Deno.writeTextFile(f, s)
62
+ },
63
+ return_none: true
64
+ },
65
+ '起動待機': { // @シェルコマンドSを起動し実行終了まで待機する // @きどうたいき
66
+ type: 'func',
67
+ josi: [['を']],
68
+ pure: true,
69
+ asyncFn: true,
70
+ fn: async function (s: string): Promise<string> {
71
+ const options = { output: OutputMode.Capture, verbose: false }
72
+ const exeRes = await exec(s, options)
73
+ const result = exeRes.output
74
+ return result
75
+ }
76
+ },
77
+ 'ファイル名抽出': { // @フルパスのファイル名Sからファイル名部分を抽出して返す // @ふぁいるめいちゅうしゅつ
78
+ type: 'func',
79
+ josi: [['から', 'の']],
80
+ pure: true,
81
+ fn: function (s: string) {
82
+ return path.basename(s)
83
+ }
84
+ },
85
+ 'パス抽出': { // @ファイル名Sからパス部分を抽出して返す // @ぱすちゅうしゅつ
86
+ type: 'func',
87
+ josi: [['から', 'の']],
88
+ pure: true,
89
+ fn: function (s: string) {
90
+ return path.dirname(s)
91
+ }
92
+ },
93
+ '絶対パス変換': { // @相対パスから絶対パスに変換して返す // @ぜったいぱすへんかん
94
+ type: 'func',
95
+ josi: [['を', 'の']],
96
+ pure: true,
97
+ fn: function (a: string) {
98
+ return path.resolve(a)
99
+ }
100
+ },
101
+ '相対パス展開': { // @ファイル名AからパスBを展開して返す // @そうたいぱすてんかい
102
+ type: 'func',
103
+ josi: [['を'], ['で']],
104
+ pure: true,
105
+ fn: function (a: string, b: string) {
106
+ return path.resolve(path.join(a, b))
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env deno
2
+ import path from 'node:path'
3
+ import com from '../index.mjs'
4
+ import { NakoGlobal } from '../src/nako_global.mjs'
5
+ import fs from 'node:fs'
6
+
7
+ import * as url from 'node:url'
8
+ import { NakoGenOptions } from '../src/nako_gen.mjs'
9
+ import { NakoCompiler } from '../src/nako3.mjs'
10
+ import PluginSnako from './plugin_snako_deno.ts'
11
+ const __dirname = url.fileURLToPath(new URL('.', import.meta.url))
12
+
13
+ /** コマンドラインオプション */
14
+ class CommandOptions {
15
+ isDebug: boolean
16
+ filename: string
17
+ nodePath: string
18
+ scriptPath: string
19
+ evalStr: string
20
+ flagConvert: boolean
21
+ constructor () {
22
+ this.nodePath = '' // Node.jsではない
23
+ this.scriptPath = ''
24
+ this.filename = ''
25
+ this.evalStr = ''
26
+ this.isDebug = false
27
+ this.flagConvert = false
28
+ }
29
+ }
30
+
31
+ /** メイン処理 */
32
+ async function main (argvOrg: string[]) {
33
+ // コマンドラインオプションを確認
34
+ const argv: string[] = [...argvOrg]
35
+ const opt: CommandOptions = new CommandOptions()
36
+ while (argv.length > 0) {
37
+ const arg = argv.shift() || ''
38
+ if (arg === '-d' || arg === '--debug') {
39
+ opt.isDebug = true
40
+ continue
41
+ }
42
+ if (arg === '-e' || arg === '--eval') {
43
+ opt.evalStr = argv.shift() || ''
44
+ continue
45
+ }
46
+ if (arg === '-c' || arg === '--convert') {
47
+ opt.flagConvert = true
48
+ continue
49
+ }
50
+ if (opt.filename === '') { opt.filename = arg }
51
+ }
52
+ // なでしこのコンパイラを生成
53
+ const nako = new com.NakoCompiler()
54
+ nako.addPluginObject('PluginSnako', PluginSnako)
55
+ // 実行前にイベントを挟みたいとき
56
+ nako.addListener('beforeRun', (g: NakoGlobal) => {
57
+ g.__varslist[0]['ナデシコ種類'] = 'snako'
58
+ })
59
+ // logger を設定 --- リスナーを登録することでデバッグレベルを指定
60
+ const logger = nako.getLogger()
61
+ if (opt.isDebug) {
62
+ logger.addListener('trace', (data: any) => { // --debug オプションを指定したとき
63
+ console.log(data.nodeConsole)
64
+ })
65
+ }
66
+ logger.addListener('stdout', (data: any) => { // 「表示」命令を実行したとき
67
+ console.log(data.noColor)
68
+ })
69
+ // -e オプションを実行したとき
70
+ if (opt.evalStr) {
71
+ await nako.runAsync(opt.evalStr, 'main.nako3')
72
+ return
73
+ }
74
+ // パラメータが空だったとき
75
+ if (opt.filename === '') {
76
+ showHelp()
77
+ return
78
+ }
79
+ // ソースコードをファイルから読み込む
80
+ const code: string = Deno.readTextFileSync(opt.filename)
81
+ // -c オプションが指定されたとき
82
+ if (opt.flagConvert) { convert(nako, code, opt) }
83
+ // 実行
84
+ await nako.runAsync(code, opt.filename)
85
+ }
86
+
87
+ // -c オプションを指定したとき
88
+ function convert (nako: NakoCompiler, code: string, opt: CommandOptions): void {
89
+ // オプションを指定
90
+ const genOpt = new NakoGenOptions(
91
+ false,
92
+ ['nako_errors.mjs', 'nako_core_version.mjs', 'plugin_system.mjs'],
93
+ 'self.__varslist[0][\'ナデシコ種類\'] = \'snako\'')
94
+ // スタンドアロンコードを生成
95
+ const js = nako.compileStandalone(code, opt.filename, genOpt)
96
+ const jsFilename = opt.filename + '.js'
97
+ fs.writeFileSync(jsFilename, js, { encoding: 'utf-8' })
98
+ // 必要なライブラリをコピー
99
+ const runtimeDir = path.join(path.dirname(jsFilename), 'nako3runtime')
100
+ const srcDir = path.join(__dirname, '..', 'src')
101
+ if (!fs.existsSync(runtimeDir)) { fs.mkdirSync(runtimeDir) }
102
+ for (const f of genOpt.importFiles) {
103
+ fs.copyFileSync(path.join(srcDir, f), path.join(runtimeDir, f))
104
+ }
105
+ }
106
+
107
+ /** 使い方を表示 */
108
+ function showHelp (): void {
109
+ console.log('●なでしこ(簡易版) # v.' + com.version.version)
110
+ console.log('[使い方] deno run snako_deno.mts [--debug|-d] (filename)')
111
+ console.log('[使い方] deno run snako_deno.mts [--eval|-e] (source)')
112
+ console.log('[使い方] deno run snako_deno.mts [-c] (source) ... convert')
113
+ }
114
+
115
+ /** メイン処理を実行 */
116
+ main(Deno.args)
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+ deno run --allow-read --allow-write deno/snako.ts batch/build_nako_version.nako3
3
+
4
+
@@ -0,0 +1,7 @@
1
+ #!/bin/sh
2
+ deno run --allow-read --allow-run \
3
+ deno/snako.ts \
4
+ sample/hello2.nako3
5
+
6
+
7
+
package/core/index.mjs CHANGED
@@ -1,14 +1,17 @@
1
1
  import coreVersion from './src/nako_core_version.mjs';
2
- import { NakoCompiler } from './src/nako3.mjs';
2
+ import { NakoCompiler, newCompilerOptions } from './src/nako3.mjs';
3
3
  import { NakoLogger } from './src/nako_logger.mjs';
4
4
  import { NakoError, NakoRuntimeError, NakoImportError } from './src/nako_errors.mjs';
5
5
  import { NakoParser } from './src/nako_parser3.mjs';
6
6
  import { NakoPrepare } from './src/nako_prepare.mjs';
7
+ import { NakoGen, NakoGenOptions } from './src/nako_gen.mjs';
8
+ import { NakoGlobal } from './src/nako_global.mjs';
7
9
  export default {
8
10
  // version
9
11
  version: coreVersion,
10
12
  // compiler
11
13
  NakoCompiler,
14
+ newCompilerOptions,
12
15
  // loggger
13
16
  NakoLogger,
14
17
  // error
@@ -17,5 +20,8 @@ export default {
17
20
  NakoImportError,
18
21
  // tools etc..
19
22
  NakoParser,
20
- NakoPrepare
23
+ NakoPrepare,
24
+ NakoGen,
25
+ NakoGenOptions,
26
+ NakoGlobal,
21
27
  };