@@ -360,8 +360,8 @@ script の場合は、関数がエクスポートされていないことが原
360
360
発生した時がそうである。`try ` / `finally ` ブロックでできるが、しかし複数あると
361
361
複雑になる。
362
362
363
- より簡単な解決策として `defer ` の使用がある。関数呼び出し時にエラーなく関数か
364
- ら戻る時にスケジュールされる 。例: >
363
+ より簡単な解決策として `defer ` の使用がある。エラーがあるかによらず、関数呼び
364
+ 出しが関数から戻る時にスケジュールされる 。例: >
365
365
func Filter(text) abort
366
366
call writefile(a:text, 'Tempfile')
367
367
call system('filter < Tempfile > Outfile')
@@ -381,9 +381,9 @@ script の場合は、関数がエクスポートされていないことが原
381
381
endfunc
382
382
383
383
Note `system ()` を呼ぶ前で "Outfile" 削除がスケジュールされているが、
384
- `system ()` が失敗する時でも作成される 。
384
+ `system ()` が失敗する時でも作成されうるからである 。
385
385
386
- 遅延関数は逆順に呼ばれ、最後の1つは最初に呼ばれるように追加される 。役に立たな
386
+ 遅延関数は逆順に呼ばれ、最後のものは最初に呼ばれるように追加される 。役に立たな
387
387
い例: >
388
388
func Useless() abort
389
389
for s in range(3)
@@ -396,21 +396,20 @@ Note `system()` を呼ぶ前で "Outfile" 削除がスケジュールされて
396
396
number 1
397
397
number 0
398
398
399
- なんらかの戻り値は遅延関数では破棄される。関数で、 "->func" や ".member" など
400
- 何かしらで扱うことはできない 。現在 `:defer GetArg()->TheFunc()` は動作せず、こ
399
+ いかなる戻り値も遅延関数では破棄される。 "->func" や ".member" などのいかなるも
400
+ のも関数に後置できない 。現在 `:defer GetArg()->TheFunc()` は動作せず、こ
401
401
れが動作するかもしれないのは今後のバージョンになる。
402
402
403
- Errors are reported but do not cause aborting execution of deferred functions.
404
403
エラーは報告されるが遅延関数の実行の中断理由にはならない。
405
404
406
- 範囲は受け取らない。追加の引数、しかし辞書ではないもので関数は部分適用にでき
407
- る。 *E1300*
405
+ 範囲は使えない。関数として追加の引数付きの部分適用は使えるが、辞書は使えない。
406
+ *E1300*
408
407
409
408
==============================================================================
410
409
411
410
4. 自動的に読み込まれる関数 ~
412
411
*autoload-functions*
413
- たくさんの関数または巨大な関数を使うときは 、それらが使用されたときだけ自動的に
412
+ たくさんの関数または大きな関数を使うときは 、それらが使用されたときだけ自動的に
414
413
定義されるようにすることができる。これには2つの方法がある: 自動コマンドによ
415
414
る方法と、'runtimepath' 内の "autoload" ディレクトリによる方法である。
416
415
@@ -444,7 +443,7 @@ FuncUndefinedを使う。例: >
444
443
445
444
:call filename#funcname()
446
445
447
- これらの関数は常にグローバルで、Vim9 script なら使用するのに "g:" が必要: >
446
+ これらの関数は常にグローバルで、Vim9 script なら "g:" が必要: >
448
447
:call g:filename#funcname()
449
448
450
449
このような関数が呼ばれ、それがまだ定義されていなかった場合、Vimは 'runtimepath'
@@ -456,9 +455,9 @@ FuncUndefinedを使う。例: >
456
455
echo "Done!"
457
456
endfunction
458
457
459
- ファイルが存在しない場合、Vim は 'packpath' ("start" の下)につい
460
- て、 'runtimepath' にまだ追加されていないパッケージも、あなたの .vimrc からパッ
461
- ケージの関数が呼び出が許可されるか検索する (| packages | を参照)。
458
+ ファイルが存在しない場合、'runtimepath' にまだ追加されていないパッケージの
459
+ 関数も .vimrc から呼び出せるようにするため、Vim は 'packpath' ("start" の下) も
460
+ 検索する (| packages | を参照)。
462
461
463
462
このファイル名と関数の # の前の部分は完全に一致しなければならない。そして定義
464
463
された関数は呼ばれた関数と完全に同じ名前でなければならない。
@@ -489,9 +488,9 @@ Vimは 'runtimepath' からファイル "autoload/foo/bar.vim" を探す。
489
488
:call foo#bar#func()
490
489
491
490
オートロードスクリプト内で定義されるはずの関数を呼んだがスクリプト内で関数が定
492
- 義されなかった場合、その関数のエラーメッセージが表示される。修正したなら自動で
493
- は再度読み込まれないオートロードスクリプトを再度読み込む。手動でスクリプトを
494
- sourceするかVimを再スタートさせる 。
491
+ 義されなかった場合、その関数のエラーメッセージが表示される。オートロードスクリプトを
492
+ 修正しても自動で再読み込みされることはない。Vimを再スタートするか手動でスクリプトを
493
+ 読み込ませること 。
495
494
496
495
また、2つのスクリプト間で、互いに自分が定義される前に相手を呼ぶような関数があ
497
496
ると、これは動作しない。
0 commit comments