@@ -584,115 +584,112 @@ function() の省略 ~
584
584
var Lambda = (arg) => expression
585
585
var Lambda = (arg): type => expression
586
586
< *E1157*
587
- "=>" まで含めて、ラムダ式の引数の定義の中では改行することはできません (Vim が
588
- 丸カッコで囲まれた式とラムダ式の引数の区別をつけられるようにするため)。これは
589
- OKです: >
587
+ ラムダ式の引数では、"=>" まで改行は許可されない (Vim が括弧内の式とラムダ式の
588
+ 引数を区別できるようにするため)。これは OK である: >
590
589
filter(list, (k, v) =>
591
590
v > 0)
592
- 以下のように記述することはできません : >
591
+ これは動作しない : >
593
592
filter(list, (k, v)
594
593
=> v > 0)
595
- 以下のように記述することもできません : >
594
+ これも動作しない : >
596
595
filter(list, (k,
597
596
v) => v > 0)
598
- ただし、バックスラッシュを使ってパースする前に行をつなげることができます : >
597
+ ただし、パースする前にバックスラッシュを使用して行を連結することができる : >
599
598
filter(list, (k,
600
599
\ v)
601
600
\ => v > 0)
602
601
< *vim9-lambda-arguments* *E1172*
603
- 旧来の Vim script においては、ラムダ関数はいくつもの余分な引数を与えて呼ぶこと
604
- ができ、そしてその余分な引数を使わないことに対しての警告をする方法がありません
605
- でした。Vim9 script では引数の数は必ず一致しなければなりません。もし任意の
606
- 引数、またはその他の引数を受け入れたい場合は、関数が | vim9-variable-arguments |
607
- を受け入れられるようにする "..._" を使ってください 。例: >
602
+ 旧来の Vim scripy では、ラムダ式は任意の数の追加引数で呼び出すことができ、引数
603
+ を指定しなかった場合の警告を出す方法がなかった。Vim9 script では、引数の数は一
604
+ 致している必要がある。任意の引数、あるいは追加の引数を受け入れたい場合は、
605
+ "..._" を使用する。これにより、関数は | vim9-variable-arguments | を受け入れるよ
606
+ うになる 。例: >
608
607
var Callback = (..._) => 'anything'
609
608
echo Callback(1, 2, 3) # "anything" を表示する
610
609
611
610
< *inline-function* *E1171*
612
- 加えて 、ラムダ式には {} に複数のステートメントを含むことができます : >
611
+ さらに 、ラムダ式には {} 内のステートメント群を含めることができる : >
613
612
var Lambda = (arg) => {
614
613
g:was_called = 'yes'
615
614
return expression
616
615
}
617
- これはタイマーに便利です 。例えば: >
616
+ これはタイマーに役立つ 。例えば: >
618
617
var count = 0
619
618
var timer = timer_start(500, (_) => {
620
619
count += 1
621
620
echom 'Handler called ' .. count
622
621
}, {repeat: 3})
623
622
624
- 閉じの "}" は行の先頭にこなければなりません。後ろに他の文字が続いても良いで
625
- す。 例: >
623
+ 終わりの "}" は行頭になければならない。その後に他の文字を続けることもできる。
624
+ 例: >
626
625
var d = mapnew(dict, (k, v): string => {
627
626
return 'value'
628
627
})
629
- いかなるコマンドも "{" の後ろに続いてはいけません。コメントのみが利用可能で
630
- す。
628
+ "{" の後にコマンドは使用できない。コメントのみ使用できる。
631
629
632
630
*command-block* *E1026*
633
- ブロックはユーザーコマンドを定義するのにも使えます。ブロックの内側では Vim9
634
- script の文法が使われます 。
631
+ このブロックはユーザーコマンドの定義にも使用できる。ブロック内では Vim9 script
632
+ の構文が使用される 。
635
633
636
- これはヒアドキュメントの使用例です : >
634
+ 以下はヒアドキュメントの使用例である : >
637
635
com SomeCommand {
638
636
g:someVar =<< trim eval END
639
637
ccc
640
638
ddd
641
639
END
642
640
}
643
641
644
- もしブロックが辞書を含むのであれば、辞書の閉じカッコは行頭に書かれてはいけませ
645
- ん。さもなくば閉じカッコがブロックの終了としてパースされてしまいます。これは動
646
- 作しません: >
642
+ 文に辞書が含まれる場合、その閉じ括弧を行頭に記述してはいけない。そうしないと、
643
+ ブロックの終わりとして解釈されてしまう。これは動作しない: >
647
644
command NewCommand {
648
645
g:mydict = {
649
646
'key': 'value',
650
647
} # エラー: ブロックの終了として認識される
651
648
}
652
- これを避けるには、 '}' を最後の要素の後ろにおいてください : >
649
+ これを回避するには、最後の項目の後に '}' を配置する : >
653
650
command NewCommand {
654
651
g:mydict = {
655
652
'key': 'value' }
656
653
}
657
654
658
- 根拠: "}" がコマンドの後にきてはならないのは、ブロックの閉じカッコを見つけるの
659
- にコマンドのパースが必要だろうからです。一貫性のために、いかなるコマンドも "{"
660
- に続けることはできません 。残念ながら、これは "() => { command }" が動作せず、
661
- 常に改行が必要であることを意味します 。
655
+ 理由: コマンドの後に "}" を置くことはできない。コマンドをパースして "}" を見つ
656
+ ける必要があるためである。一貫性を保つため、 "{" の後にコマンドを置くことはでき
657
+ ない 。残念ながら、これは "() => { command }" という表現が機能しないことを意味
658
+ する。常に改行が必要である 。
662
659
663
660
*vim9-curly*
664
- 辞書リテラルの "{" がステートメントブロックと認識されてしまうのを回避するため
665
- には、括弧で包みます : >
661
+ 辞書リテラルの "{" がステートメントブロックとして認識されるのを避けるには、そ
662
+ れを括弧で囲む : >
666
663
var Lambda = (arg) => ({key: 42})
667
664
668
- さらに、コマンドブロックの開始と混同してしまう場合 : >
665
+ また、コマンドブロックの開始と混同された場合 : >
669
666
({
670
667
key: value
671
668
})->method()
672
669
673
670
674
671
自動行継続 ~
675
672
*vim9-line-continuation* *E1097*
676
- 多くの場合、式が次の行に続くことは明らかです。継続行の先頭に行継続のためのバッ
677
- クスラッシュ (| line-continuation | 参照) を置く必要はありません 。例えば、複数行
678
- にまたぐリストの場合 : >
673
+ 多くの場合、式が次の行に続くことは明らかである。そのような場合、行頭にバックス
674
+ ラッシュ (| line-continuation | を参照) を付ける必要はない 。例えば、リストが複数
675
+ 行にまたがる場合 : >
679
676
var mylist = [
680
677
'one',
681
678
'two',
682
679
]
683
- 辞書の場合 : >
680
+ 辞書が複数行にまたがる場合 : >
684
681
var mydict = {
685
682
one: 1,
686
683
two: 2,
687
684
}
688
- 関数の呼び出しで : >
685
+ 関数呼び出しの場合 : >
689
686
var result = Func(
690
687
arg1,
691
688
arg2
692
689
)
693
690
694
- 角カッコ []、波カッコ {}、または丸カッコの中‘以外で’二項演算子御使用する場
695
- 合、その前後で改行することができます 。例: >
691
+ []、{}、() 以外の式における二項演算子については、演算子の直前または直後で改行
692
+ が可能である 。例: >
696
693
var text = lead
697
694
.. middle
698
695
.. end
@@ -703,110 +700,108 @@ script の文法が使われます。
703
700
? PosFunc(arg)
704
701
: NegFunc(arg)
705
702
706
- "->" を使用したメソッド呼び出し、そしてドット (.) を使用したメンバー参照の場
707
- 合、その前に改行を置くことができます : >
703
+ "->" を使用するメソッド呼び出しとドットを使用するメンバーの場合、その前に改行
704
+ が許可される : >
708
705
var result = GetBuilder()
709
706
->BuilderSetWidth(333)
710
707
->BuilderSetHeight(777)
711
708
->BuilderBuild()
712
709
var result = MyDict
713
710
.member
714
711
715
- 複数のコマンドのリストを引数に持つコマンドでは、行の先頭に置かれた文字 | は行
716
- 継続を表します : >
712
+ コマンドリストを引数として持つコマンドの場合、行の先頭の | 文字は行の継続を示
713
+ す : >
717
714
autocmd BufNewFile *.match if condition
718
715
| echo 'match'
719
716
| endif
720
717
721
- Note これはヒアドキュメントの最初の行は | で始めることができないことを意味しま
722
- す : >
718
+ Note これは、ヒアドキュメントの最初の行をバーで始めることができないことを意味
719
+ することに注意 : >
723
720
var lines =<< trim END
724
721
| これは動作しない
725
722
END
726
- ヒアドキュメントの先頭行を空行にする、あるいはヒアドキュメントを使わないように
727
- してください。あるいは一時的にフラグ "C" を 'cpoptions' に追加してください : >
723
+ 先頭に空行を入れるか、ヒアドキュメントを使わないようにすること。あるいは、一時
724
+ 的に 'cpoptions' に "C" フラグを追加する : >
728
725
set cpo+=C
729
726
var lines =<< trim END
730
727
| これは動作する
731
728
END
732
729
set cpo-=C
733
- もしヒアドキュメントが関数の中で使われているのであれば 、'cpoptions' は :def の
734
- 前で変更され、かつ :enddef の後ろで元に戻されなければなりません 。
730
+ ヒアドキュメントが関数内にある場合 、'cpoptions' は :def の前に設定し、:enddef
731
+ の後に復元する必要がある 。
735
732
736
- 例えば長い Ex コマンドを分割しているときのような、依然として行連結にバックス
737
- ラッシュが必要な場所では、 '#\ ' でコメントを開始することができます : >
733
+ 長い Ex コマンドを分割するなど、バックスラッシュによる行継続が必要な場所では、
734
+ コメントを '#\ ' で開始することができる : >
738
735
syn region Text
739
736
\ start='foo'
740
737
#\ コメント
741
738
\ end='bar'
742
- これは旧来の Vim script で '"\ ' が使われているのと似ています。またこれはバッ
743
- クスラッシュ抜きで行連結が使用され、かつ行が | で開始しているときにも必要で
744
- す: >
739
+ 旧来の Vim script と同様に、'"\ ' が使用される。これは、バックスラッシュなしで
740
+ 行継続が使用され、行がバーで始まる場合にも必要である: >
745
741
au CursorHold * echom 'BEFORE bar'
746
742
#\ 何かのコメント
747
743
| echom 'AFTER bar'
748
744
<
749
745
*E1050*
750
- 行頭の演算子と識別できるようにするために、範囲指定の前にはコロンを置きます。
751
- "start" と "print" をつなげる例 : >
746
+ 行頭の演算子を認識できるようにするには、範囲の前にコロンを置く必要がある。次の
747
+ 例では、 "start" と "print" を追加する : >
752
748
var result = start
753
749
+ print
754
- これは以下の記述と同じです : >
750
+ 以下と同様 : >
755
751
var result = start + print
756
752
757
- 次のように書くと 、"start" を代入して、1行表示します : >
753
+ これにより 、"start" が割り当てられ、1 行表示する : >
758
754
var result = start
759
755
:+ print
760
756
761
- 「範囲」の後ろには必ず Ex コマンドが続かなければなりません。コロンを付けてい
762
- ない時は `:call ` 抜きで関数を呼ぶことができますが、「範囲」の後ろではそれが必
763
- 要です: >
757
+ 範囲指定の後には Ex コマンドが必要である。コロンがなくても `:call ` なしで関数
758
+ を呼び出すことができるが、範囲指定の後には `:call ` が必要である: >
764
759
MyFunc()
765
760
:% call MyFunc()
766
761
767
- Note | +cmd | の引数にはコロンは不要です : >
762
+ Note | +cmd | 引数にはコロンは不要であることに注意 : >
768
763
edit +6 fname
769
764
770
- 関数の定義部においても、引数の間で改行をおくことができます : >
765
+ 関数冒頭を引数間で複数行に分割することもできる : >
771
766
def MyFunc(
772
767
text: string,
773
768
separator = '-'
774
769
): string
775
770
776
- 継続行を識別することは容易ではないため、コマンドの解析はより厳格化されていま
777
- す。例えば、一行目のエラーにより、2行目は別のコマンドとみなされます : >
771
+ 継続行は容易に認識できないため、コマンドのパースはより厳密になった。例えば、1
772
+ 行目のエラーのため、2 行目は別のコマンドとして認識される : >
778
773
popup_create(some invalid expression, {
779
774
exit_cb: Func})
780
- ここで "exit_cb: Func})" は実際に有効なコマンドです: 変更をファイル
781
- "_cb: Func})" に保存して閉じます 。Vim9 script の中ではこの種のミスを回避するた
782
- めに、コマンド名と引数の間にはスペースを置かなくてはなりません 。
775
+ これで "exit_cb: Func})" は実際に有効なコマンドになった。つまり、"_cb: Func})"
776
+ ファイルへの変更を保存して終了する 。Vim9 script でこのような間違いを避けるに
777
+ は、ほとんどのコマンド名と引数の間に空白を入れる必要がある 。
783
778
*E1144*
784
779
785
- ただし、コマンドの引数に置いたコマンドは認識されません 。例えば、"windo echo
786
- expr" に続く "expr" の式の中で改行しても認識されません 。
780
+ ただし、コマンドの引数がコマンドである場合は認識されない 。例えば、"windo echo
781
+ expr" の後では、 "expr" 内の改行は認識されない 。
787
782
788
783
789
784
Notes:
790
- - "enddef" は継続行の先頭に置くことはできません。それは関数の終端を意味します 。
791
- - 代入式の左辺を複数の行に分割できません。特にリストのアンパック | :let-unpack |
792
- を使用する場合は注意が必要です。これはOKです : >
785
+ - "enddef" は継続行の先頭では使用できない。現在の関数を終了させるためである 。
786
+ - 代入の左辺では改行は許可されない。特にリストを展開する場合に当てはまる
787
+ | :let-unpack | 。これは OK である : >
793
788
[var1, var2] =
794
789
Func()
795
- < 以下のように記述することはできません : >
790
+ < これは動作しない : >
796
791
[var1,
797
792
var2] =
798
793
Func()
799
- - `:echo ` や `:execute ` のようなコマンドの引数は複数の行に分割できません。これ
800
- はOKです : >
794
+ - `:echo ` 、 `:execute ` 、および類似のコマンドの引数の間には改行を入れることはで
795
+ きない。これは OK である : >
801
796
echo [1,
802
797
2] [3,
803
798
4]
804
- < 以下のように記述することはできません : >
799
+ < これは動作しない : >
805
800
echo [1, 2]
806
801
[3, 4]
807
- - いくつかの場合、特に `:windo ` のようなコマンドが他のコマンドの引数として使わ
808
- れるような場合では、Vim にとってコマンドのパースが困難です。このような場合で
809
- では、バックスラッシュを使った行継続を使わなければなりません 。
802
+ - Vim では、コマンドのパースが困難な場合がある。特に、 `:windo ` のようにコマン
803
+ ドが別のコマンドの引数として使用されている場合には、その傾向が顕著である。そ
804
+ のような場合は、バックスラッシュによる行継続を使用する必要がある 。
810
805
811
806
812
807
ホワイトスペース ~
0 commit comments