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