@@ -493,29 +493,28 @@ Vim9 script では`:let` は使用できない。既存の変数にコマンド
493
493
494
494
定数 ~
495
495
*vim9-const* *vim9-final*
496
- 定数の働きは言語によって異なります。別の値を代入できない変数を定数とする場合も
497
- あります 。JavaScript がその一例です 。また、値そのものを不変にすることもあり、
498
- 例えばリスト定数の内容を変更することができないとしている場合もあります。
499
- Vim9ではこのどちらも定義することができます 。
496
+ 定数の扱い方は言語によって異なる。ある言語では、別の値を代入できない変数を定数
497
+ とみす 。JavaScript がその一例である 。また、他の言語では値を不変とするため、定
498
+ 数がリストを使用している場合は、リストを変更できない。Vim9 では、どちらも使用
499
+ できる 。
500
500
*E1021* *E1307*
501
- 変数とその値、両方を定数とするには、 `:const ` を使用します。何らかの複合的な値
502
- が変更できないようにする際に使用します 。例: >
501
+ `:const ` は、変数と値の両方を定数にするために使用される。これは、変更されない
502
+ ことを確実にしたい複合構造に使用する 。例: >
503
503
const myList = [1, 2]
504
504
myList = [3, 4] # エラー!
505
505
myList[0] = 9 # エラー!
506
506
myList->add(3) # エラー!
507
507
< *:final* *E1125*
508
- 変数の変更のみを禁止するには、 `:final` を使用します。この場合は、中の値自体を
509
- 変えることはできます。Java でよく知られるものです 。例: >
508
+ `:final` は変数を定数にするために使用され、値は変更可能である。これは Java で
509
+ よく知られている 。例: >
510
510
final myList = [1, 2]
511
511
myList = [3, 4] # エラー!
512
512
myList[0] = 9 # OK
513
513
myList->add(3) # OK
514
514
515
- 一般に、定数はすべて大文字 (例: ALL_CAPS) で書かれますが、必ずしもそうしなくて
516
- も構いません。
515
+ 定数は ALL_CAPS (すべて大文字) で書くのが一般的であるが、必須ではない。
517
516
518
- 定数宣言は値そのものにのみ適用され、参照先の変数には影響しません 。 >
517
+ この定数は値自体にのみ適用され、それが参照するものには適用されない 。 >
519
518
final females = ["Mary"]
520
519
const NAMES = [["John", "Peter"], females]
521
520
NAMES[0] = ["Jack"] # エラー!
@@ -524,15 +523,15 @@ Vim9ではこのどちらも定義することができます。
524
523
NAMES[1][0] = "Emma" # OK, females[0] == "Emma"
525
524
526
525
527
- :call と :eval は不要に ~
526
+ :call と :eval の省略 ~
528
527
*E1190*
529
- 関数は `:call ` なしで呼ぶことができます : >
528
+ 関数は `:call ` なしで呼ぶことができる : >
530
529
writefile(lines, 'file')
531
- `:call ` は引き続き使用できますが、やめたほうが良いでしょう 。
530
+ `:call ` の使用はまだ可能だが、推奨されない 。
532
531
533
- メソッド呼び出しには `eval ` は必要ありません。Exコマンドと同名の識別子ではない
534
- 限り、直接に識別子から呼び出すことができます 。関数の場合は、"(" または "->"の
535
- どちらかを改行せずに続けなければなりません。 例: >
532
+ `eval ` なしのメソッド呼び出しは、先頭が識別子であるか、Ex コマンドでない限り可
533
+ 能である 。関数の場合は、改行なしで "(" または "->" のいずれかが続く必要がある。
534
+ 例: >
536
535
myList->add(123)
537
536
g:myList->add(123)
538
537
[1, 2, 3]->Process()
@@ -542,45 +541,46 @@ Vim9ではこのどちらも定義することができます。
542
541
'foobar'->Process()
543
542
('foobar')->Process()
544
543
545
- 一部の関数と Ex コマンドが紛らわしい場合、コロン (:) を前置することでそれが Ex
546
- コマンドであることを明示することができます 。例えば、`:substitute ` コマンドと
547
- `substitute ()` が該当します。 `substitute (` で始まる場合は関数呼び出しですが、
548
- コロンを前置することでコマンドを代わりに使用することができます : >
544
+ 関数名と Ex コマンドが曖昧になる稀なケースでは、Ex コマンドを使用することを明
545
+ 確にするために、先頭に ":" を付ける 。例えば、`:substitute ` コマンドと
546
+ `substitute ()` 関数の両方がある。行が `substitute (` で始まる場合は関数が使用さ
547
+ れる。代わりにコマンドを使用する場合は、先頭にコロンを付ける : >
549
548
:substitute(pattern (replacement (
550
549
551
- もし式が "!" で始まっているのであれば、それは条件の否定ではなくシェルコマンド
552
- であると解釈されます。したがって、これはシェルコマンドとなります : >
550
+ 式が "!" で始まる場合、これは条件の否定ではなくシェルコマンドとして解釈される。
551
+ つまり、これはシェルコマンドである : >
553
552
!shellCommand->something
554
- "!" を否定として用いるには、式を丸カッコで囲んでください : >
553
+ 否定を表す "!" を使用するには、式を括弧で囲む : >
555
554
(!expression)->Method()
556
555
557
- Note 変数は使用する前に宣言する必要がありますが、関数は宣言するより前に使用で
558
- きます。これは関数の循環参照を可能にするためです。関数を名前で探さなければなら
559
- ないので、少し効率が悪いです 。また、関数名のタイプミスは、関数が呼び出されると
560
- きまで見つかりません 。
556
+ Note 変数は使用する前に定義する必要があるが、関数は定義前に呼び出すことができ
557
+ る。これは、関数間の循環的な依存関係を可能にするために必要である。関数を名前で
558
+ 検索する必要があるため、効率は少し悪くなる 。また、関数名のタイプミスは、関数が
559
+ 呼び出されたときにのみ検出される 。
561
560
562
561
563
- function() は不要に ~
562
+ function() の省略 ~
564
563
565
- ユーザー定義の関数は 、`function ()` を使わずとも関数リファレンスとして使用する
566
- ことができます。引数の型と戻り値の型がチェックされます。関数はすでに定義されて
567
- いる必要があります 。 >
564
+ ユーザー定義関数は 、`function ()` を使わずに式の中で関数参照として使用できる。
565
+ その場合、引数の型と戻り値の型がチェックされる。関数は事前に定義されている必要
566
+ がある 。 >
568
567
569
568
var Funcref = MyFunction
570
569
571
- `function ()` を使って "func" 型のリファレンスを得た場合、その関数は任意の個数
572
- の引数と任意の戻り値の型 (void を含めて) を持つものとされます。この場合、もし
573
- 関数名がクォートで囲まれてるなら、その関数は後から宣言できます 。
570
+ `function ()` を使用すると、結果の型は "func" になる。これは、任意の数の引数と
571
+ 任意の戻り値 (void を含む) を持つ関数である。引数をクォートで囲めば、関数は後
572
+ で定義できる 。
574
573
575
574
576
- ラムダ式には -> の代わりに => を使う ~
575
+ ラムダ式は -> の代わりに => を使う ~
577
576
*vim9-lambda*
578
- 旧来のスクリプトでは "->" はメソッド呼び出しとラムダ式で混同するおそれがありま
579
- す。また、"{" が見つかったとき、パーサーはラムダ式と辞書の開始を見分けねばなら
580
- ず、そしてそれは引数の型指定により複雑になっています。
577
+ 旧来のスクリプトでは、メソッド呼び出しとラムダ式で "->" を使用することが混乱を
578
+ 招く可能性がある。また、"{" が見つかった場合、パーサーはそれがラムダ式の開始な
579
+ のか辞書の開始なのかを判断する必要があるが、引数の型が使用されるようになったた
580
+ め、この判断はより複雑になっている。
581
581
582
- この問題を回避するため 、Vim9 script ではラムダ式のために違う書式を使用し、それ
583
- は JavaScript に似ています : >
582
+ これらの問題を回避するために 、Vim9 script は JavaScript に似たラムダ式の異なる
583
+ 構文を使用する : >
584
584
var Lambda = (arg) => expression
585
585
var Lambda = (arg): type => expression
586
586
< *E1157*
0 commit comments