Skip to content

Commit 1223bb1

Browse files
committed
Change until just before *E1004*
1 parent ffd928a commit 1223bb1

File tree

1 file changed

+74
-79
lines changed

1 file changed

+74
-79
lines changed

doc/vim9.jax

Lines changed: 74 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -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

789784
Notes:
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

Comments
 (0)