Skip to content

Commit 6e6bcb1

Browse files
committed
vim9.jax: Update translation (Thanks to k-takata san)
1 parent ed496ff commit 6e6bcb1

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

doc/vim9.jax

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,9 @@ Vim9 関数 ~
177177
- コンパイルされた関数から呼び出されたり、関数リファレンスとして使用されたとき
178178
(引数と戻り値の型をチェックできるようにするため)
179179
*E1091* *E1191*
180-
もし関数のコンパイルに失敗した場合は、次その関数が呼ばれるときまで再度コンパイ
181-
ルを試みることはなく、代わりに "E1091: Function is not compiled: {name}" とい
182-
うエラーを発生させます
180+
もし関数のコンパイルに失敗した場合は、次その関数が呼ばれるときも再度コンパイル
181+
を試みることはなく、代わりに "E1091: Function is not compiled: {name}" という
182+
エラーを発生させます
183183
{訳注: 日本語メッセージの場合: "E1091: 関数はコンパイルされていません: {name}"}
184184
コンパイルはまだ作成されていないユーザーコマンドと遭遇したときに失敗するでしょ
185185
う。この場合は `execute()` を使うことでエラーを関数の実行時に発生するようにす
@@ -266,6 +266,14 @@ Vim9 script でスクリプト直下に `:function` や `:def` を使って関
266266
var Fok = function(Inner) # OK
267267
var Fbad = function('Inner') # 動作しない
268268
269+
詳細: これは "Inner" が実際には生成された名前をもつ関数への関数参照になるから
270+
です。
271+
272+
関数の中でスクリプトローカル関数を定義することはできません。代わりにローカル関
273+
数を定義して、それをスクリプトローカルな Funcref (これはスクリプトレベルで定義
274+
されていないといけません) に代入することができます。グローバル関数は前置詞
275+
"g:" を使うことで定義できます。
276+
269277
関数をプリフィックス "s:" や "g:" をつけずに参照した場合、Vim は関数を次のよう
270278
に探します:
271279
- 同じ関数の中、ブロックスコープの中
@@ -288,9 +296,9 @@ Vim9 script において、スクリプトレベルでの前置詞 "s:" の使
288296
Vim script 内ではスクリプトローカルな関数と変数に対して "s:" を使いますが、
289297
Vim9 script 内では使いません。これはこのドキュメントの以下の説明でも同様です。
290298

291-
旧来の Vim script スタイルの関数内においては、スクリプトローカルなアイテムに
292-
対しての "s:" の指定は従来通り必要です。これはスクリプトが Vim9 script であろ
293-
うが旧来の Vim script であろうが関係ありません
299+
旧来の関数内においては、スクリプトローカルなアイテムに対しての "s:" の指定は従
300+
来通り必要です。これはスクリプトが Vim9 script であろうが旧来の Vim script で
301+
あろうが関係ありません
294302

295303
いずれの場合でも、関数は使用されるよりも前に定義されていなくてはなりません。使
296304
用されるタイミングは、コマンド `:defcompile` によってコンパイルされるとき、ま
@@ -1566,7 +1574,7 @@ script の関数内で宣言されたときでも同様です。
15661574
変数の宣言においては、推測された型は重要です: >
15671575
var ll = [1, 2, 3]
15681576
ll->extend(['x']) # エラー、'x' は数値ではない
1569-
理由は、宣言が数値のリストの宣言のようで、それゆえ以下と等しいからです: >
1577+
これは宣言が数値のリストのように見えるためで、それゆえ以下と等しいからです: >
15701578
var ll: list<number> = [1, 2, 3]
15711579
もし、もっと寛容なリストが欲しいのであれば、型を宣言する必要があります: >
15721580
var ll: list<any = [1, 2, 3]

0 commit comments

Comments
 (0)