@@ -584,115 +584,112 @@ function() の省略 ~
584584 var Lambda = (arg) => expression
585585 var Lambda = (arg): type => expression
586586< *E1157*
587- "=>" まで含めて、ラムダ式の引数の定義の中では改行することはできません (Vim が
588- 丸カッコで囲まれた式とラムダ式の引数の区別をつけられるようにするため)。これは
589- OKです: >
587+ ラムダ式の引数では、"=>" まで改行は許可されない (Vim が括弧内の式とラムダ式の
588+ 引数を区別できるようにするため)。これは OK である: >
590589 filter(list, (k, v) =>
591590 v > 0)
592- 以下のように記述することはできません : >
591+ これは動作しない : >
593592 filter(list, (k, v)
594593 => v > 0)
595- 以下のように記述することもできません : >
594+ これも動作しない : >
596595 filter(list, (k,
597596 v) => v > 0)
598- ただし、バックスラッシュを使ってパースする前に行をつなげることができます : >
597+ ただし、パースする前にバックスラッシュを使用して行を連結することができる : >
599598 filter(list, (k,
600599 \ v)
601600 \ => v > 0)
602601< *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+ うになる 。例: >
608607 var Callback = (..._) => 'anything'
609608 echo Callback(1, 2, 3) # "anything" を表示する
610609
611610< *inline-function* *E1171*
612- 加えて 、ラムダ式には {} に複数のステートメントを含むことができます : >
611+ さらに 、ラムダ式には {} 内のステートメント群を含めることができる : >
613612 var Lambda = (arg) => {
614613 g:was_called = 'yes'
615614 return expression
616615 }
617- これはタイマーに便利です 。例えば: >
616+ これはタイマーに役立つ 。例えば: >
618617 var count = 0
619618 var timer = timer_start(500, (_) => {
620619 count += 1
621620 echom 'Handler called ' .. count
622621 }, {repeat: 3})
623622
624- 閉じの "}" は行の先頭にこなければなりません。後ろに他の文字が続いても良いで
625- す。 例: >
623+ 終わりの "}" は行頭になければならない。その後に他の文字を続けることもできる。
624+ 例: >
626625 var d = mapnew(dict, (k, v): string => {
627626 return 'value'
628627 })
629- いかなるコマンドも "{" の後ろに続いてはいけません。コメントのみが利用可能で
630- す。
628+ "{" の後にコマンドは使用できない。コメントのみ使用できる。
631629
632630 *command-block* *E1026*
633- ブロックはユーザーコマンドを定義するのにも使えます。ブロックの内側では Vim9
634- script の文法が使われます 。
631+ このブロックはユーザーコマンドの定義にも使用できる。ブロック内では Vim9 script
632+ の構文が使用される 。
635633
636- これはヒアドキュメントの使用例です : >
634+ 以下はヒアドキュメントの使用例である : >
637635 com SomeCommand {
638636 g:someVar =<< trim eval END
639637 ccc
640638 ddd
641639 END
642640 }
643641
644- もしブロックが辞書を含むのであれば、辞書の閉じカッコは行頭に書かれてはいけませ
645- ん。さもなくば閉じカッコがブロックの終了としてパースされてしまいます。これは動
646- 作しません: >
642+ 文に辞書が含まれる場合、その閉じ括弧を行頭に記述してはいけない。そうしないと、
643+ ブロックの終わりとして解釈されてしまう。これは動作しない: >
647644 command NewCommand {
648645 g:mydict = {
649646 'key': 'value',
650647 } # エラー: ブロックの終了として認識される
651648 }
652- これを避けるには、 '}' を最後の要素の後ろにおいてください : >
649+ これを回避するには、最後の項目の後に '}' を配置する : >
653650 command NewCommand {
654651 g:mydict = {
655652 'key': 'value' }
656653 }
657654
658- 根拠: "}" がコマンドの後にきてはならないのは、ブロックの閉じカッコを見つけるの
659- にコマンドのパースが必要だろうからです。一貫性のために、いかなるコマンドも "{"
660- に続けることはできません 。残念ながら、これは "() => { command }" が動作せず、
661- 常に改行が必要であることを意味します 。
655+ 理由: コマンドの後に "}" を置くことはできない。コマンドをパースして "}" を見つ
656+ ける必要があるためである。一貫性を保つため、 "{" の後にコマンドを置くことはでき
657+ ない 。残念ながら、これは "() => { command }" という表現が機能しないことを意味
658+ する。常に改行が必要である 。
662659
663660 *vim9-curly*
664- 辞書リテラルの "{" がステートメントブロックと認識されてしまうのを回避するため
665- には、括弧で包みます : >
661+ 辞書リテラルの "{" がステートメントブロックとして認識されるのを避けるには、そ
662+ れを括弧で囲む : >
666663 var Lambda = (arg) => ({key: 42})
667664
668- さらに、コマンドブロックの開始と混同してしまう場合 : >
665+ また、コマンドブロックの開始と混同された場合 : >
669666 ({
670667 key: value
671668 })->method()
672669
673670
674671自動行継続 ~
675672 *vim9-line-continuation* *E1097*
676- 多くの場合、式が次の行に続くことは明らかです。継続行の先頭に行継続のためのバッ
677- クスラッシュ (| line-continuation | 参照) を置く必要はありません 。例えば、複数行
678- にまたぐリストの場合 : >
673+ 多くの場合、式が次の行に続くことは明らかである。そのような場合、行頭にバックス
674+ ラッシュ (| line-continuation | を参照) を付ける必要はない 。例えば、リストが複数
675+ 行にまたがる場合 : >
679676 var mylist = [
680677 'one',
681678 'two',
682679 ]
683- 辞書の場合 : >
680+ 辞書が複数行にまたがる場合 : >
684681 var mydict = {
685682 one: 1,
686683 two: 2,
687684 }
688- 関数の呼び出しで : >
685+ 関数呼び出しの場合 : >
689686 var result = Func(
690687 arg1,
691688 arg2
692689 )
693690
694- 角カッコ []、波カッコ {}、または丸カッコの中‘以外で’二項演算子御使用する場
695- 合、その前後で改行することができます 。例: >
691+ []、{}、() 以外の式における二項演算子については、演算子の直前または直後で改行
692+ が可能である 。例: >
696693 var text = lead
697694 .. middle
698695 .. end
@@ -703,110 +700,108 @@ script の文法が使われます。
703700 ? PosFunc(arg)
704701 : NegFunc(arg)
705702
706- "->" を使用したメソッド呼び出し、そしてドット (.) を使用したメンバー参照の場
707- 合、その前に改行を置くことができます : >
703+ "->" を使用するメソッド呼び出しとドットを使用するメンバーの場合、その前に改行
704+ が許可される : >
708705 var result = GetBuilder()
709706 ->BuilderSetWidth(333)
710707 ->BuilderSetHeight(777)
711708 ->BuilderBuild()
712709 var result = MyDict
713710 .member
714711
715- 複数のコマンドのリストを引数に持つコマンドでは、行の先頭に置かれた文字 | は行
716- 継続を表します : >
712+ コマンドリストを引数として持つコマンドの場合、行の先頭の | 文字は行の継続を示
713+ す : >
717714 autocmd BufNewFile *.match if condition
718715 | echo 'match'
719716 | endif
720717
721- Note これはヒアドキュメントの最初の行は | で始めることができないことを意味しま
722- す : >
718+ Note これは、ヒアドキュメントの最初の行をバーで始めることができないことを意味
719+ することに注意 : >
723720 var lines =<< trim END
724721 | これは動作しない
725722 END
726- ヒアドキュメントの先頭行を空行にする、あるいはヒアドキュメントを使わないように
727- してください。あるいは一時的にフラグ "C" を 'cpoptions' に追加してください : >
723+ 先頭に空行を入れるか、ヒアドキュメントを使わないようにすること。あるいは、一時
724+ 的に 'cpoptions' に "C" フラグを追加する : >
728725 set cpo+=C
729726 var lines =<< trim END
730727 | これは動作する
731728 END
732729 set cpo-=C
733- もしヒアドキュメントが関数の中で使われているのであれば 、'cpoptions' は :def の
734- 前で変更され、かつ :enddef の後ろで元に戻されなければなりません 。
730+ ヒアドキュメントが関数内にある場合 、'cpoptions' は :def の前に設定し、:enddef
731+ の後に復元する必要がある 。
735732
736- 例えば長い Ex コマンドを分割しているときのような、依然として行連結にバックス
737- ラッシュが必要な場所では、 '#\ ' でコメントを開始することができます : >
733+ 長い Ex コマンドを分割するなど、バックスラッシュによる行継続が必要な場所では、
734+ コメントを '#\ ' で開始することができる : >
738735 syn region Text
739736 \ start='foo'
740737 #\ コメント
741738 \ end='bar'
742- これは旧来の Vim script で '"\ ' が使われているのと似ています。またこれはバッ
743- クスラッシュ抜きで行連結が使用され、かつ行が | で開始しているときにも必要で
744- す: >
739+ 旧来の Vim script と同様に、'"\ ' が使用される。これは、バックスラッシュなしで
740+ 行継続が使用され、行がバーで始まる場合にも必要である: >
745741 au CursorHold * echom 'BEFORE bar'
746742 #\ 何かのコメント
747743 | echom 'AFTER bar'
748744<
749745 *E1050*
750- 行頭の演算子と識別できるようにするために、範囲指定の前にはコロンを置きます。
751- "start" と "print" をつなげる例 : >
746+ 行頭の演算子を認識できるようにするには、範囲の前にコロンを置く必要がある。次の
747+ 例では、 "start" と "print" を追加する : >
752748 var result = start
753749 + print
754- これは以下の記述と同じです : >
750+ 以下と同様 : >
755751 var result = start + print
756752
757- 次のように書くと 、"start" を代入して、1行表示します : >
753+ これにより 、"start" が割り当てられ、1 行表示する : >
758754 var result = start
759755 :+ print
760756
761- 「範囲」の後ろには必ず Ex コマンドが続かなければなりません。コロンを付けてい
762- ない時は `:call ` 抜きで関数を呼ぶことができますが、「範囲」の後ろではそれが必
763- 要です: >
757+ 範囲指定の後には Ex コマンドが必要である。コロンがなくても `:call ` なしで関数
758+ を呼び出すことができるが、範囲指定の後には `:call ` が必要である: >
764759 MyFunc()
765760 :% call MyFunc()
766761
767- Note | +cmd | の引数にはコロンは不要です : >
762+ Note | +cmd | 引数にはコロンは不要であることに注意 : >
768763 edit +6 fname
769764
770- 関数の定義部においても、引数の間で改行をおくことができます : >
765+ 関数冒頭を引数間で複数行に分割することもできる : >
771766 def MyFunc(
772767 text: string,
773768 separator = '-'
774769 ): string
775770
776- 継続行を識別することは容易ではないため、コマンドの解析はより厳格化されていま
777- す。例えば、一行目のエラーにより、2行目は別のコマンドとみなされます : >
771+ 継続行は容易に認識できないため、コマンドのパースはより厳密になった。例えば、1
772+ 行目のエラーのため、2 行目は別のコマンドとして認識される : >
778773 popup_create(some invalid expression, {
779774 exit_cb: Func})
780- ここで "exit_cb: Func})" は実際に有効なコマンドです: 変更をファイル
781- "_cb: Func})" に保存して閉じます 。Vim9 script の中ではこの種のミスを回避するた
782- めに、コマンド名と引数の間にはスペースを置かなくてはなりません 。
775+ これで "exit_cb: Func})" は実際に有効なコマンドになった。つまり、"_cb: Func})"
776+ ファイルへの変更を保存して終了する 。Vim9 script でこのような間違いを避けるに
777+ は、ほとんどのコマンド名と引数の間に空白を入れる必要がある 。
783778*E1144*
784779
785- ただし、コマンドの引数に置いたコマンドは認識されません 。例えば、"windo echo
786- expr" に続く "expr" の式の中で改行しても認識されません 。
780+ ただし、コマンドの引数がコマンドである場合は認識されない 。例えば、"windo echo
781+ expr" の後では、 "expr" 内の改行は認識されない 。
787782
788783
789784Notes:
790- - "enddef" は継続行の先頭に置くことはできません。それは関数の終端を意味します 。
791- - 代入式の左辺を複数の行に分割できません。特にリストのアンパック | :let-unpack |
792- を使用する場合は注意が必要です。これはOKです : >
785+ - "enddef" は継続行の先頭では使用できない。現在の関数を終了させるためである 。
786+ - 代入の左辺では改行は許可されない。特にリストを展開する場合に当てはまる
787+ | :let-unpack | 。これは OK である : >
793788 [var1, var2] =
794789 Func()
795- < 以下のように記述することはできません : >
790+ < これは動作しない : >
796791 [var1,
797792 var2] =
798793 Func()
799- - `:echo ` や `:execute ` のようなコマンドの引数は複数の行に分割できません。これ
800- はOKです : >
794+ - `:echo ` 、 `:execute ` 、および類似のコマンドの引数の間には改行を入れることはで
795+ きない。これは OK である : >
801796 echo [1,
802797 2] [3,
803798 4]
804- < 以下のように記述することはできません : >
799+ < これは動作しない : >
805800 echo [1, 2]
806801 [3, 4]
807- - いくつかの場合、特に `:windo ` のようなコマンドが他のコマンドの引数として使わ
808- れるような場合では、Vim にとってコマンドのパースが困難です。このような場合で
809- では、バックスラッシュを使った行継続を使わなければなりません 。
802+ - Vim では、コマンドのパースが困難な場合がある。特に、 `:windo ` のようにコマン
803+ ドが別のコマンドの引数として使用されている場合には、その傾向が顕著である。そ
804+ のような場合は、バックスラッシュによる行継続を使用する必要がある 。
810805
811806
812807ホワイトスペース ~
0 commit comments