が、それはこのようなものを使用しています。Perl && do {last; };私の本で
for($ARGV[0])
{
Expression && do { print "..."; last; };
...
}
は不完全for
-loopはありませんか?また、do
の要点は{ ... }
であることはできませんか、do
はここで重要ですか?
が、それはこのようなものを使用しています。Perl && do {last; };私の本で
for($ARGV[0])
{
Expression && do { print "..."; last; };
...
}
は不完全for
-loopはありませんか?また、do
の要点は{ ... }
であることはできませんか、do
はここで重要ですか?
Perlには2つの形式のfor
があります。ここに表示されているものは、多くの場合、foreach
と書かれていますが、for
とforeach
は同義語です。通常、リスト全体を反復し、各要素に$_
を設定します。この場合、「リスト」は単一の値であるため、ループ本体に$_
〜$ARGV[0]
を設定するという効果があります。
ブロック{ ... }
を式にするためには、do
が必要です。したがって、&&
演算子のオペランドにすることができます。
を(。あなたは言葉do
を省略した場合に何が起こるかを参照してください)(そして、あなたはセミコロンを欠落していた。私はそれを修正するために質問を編集した。)
助けてくれてありがとう:-) – rubixibuc
私の質問は "なぜ?"私は '$ _ = $ ARGV [0];でこれをちょうど書き直すことができたと思います。 if(Expression){print "...";最後に} 'それはもっと意味があるかもしれません。 – mkb
それはただの文体です。 1つの利点は、あなたがテストしている式が、Cのcase文のように、行の最初のものであることです。私はしばしばregexpsでそれを使用します:/ foo =(\ w +)/ && do {$ store { foo} = process_foo($ 1)}; – Alex
彼ら「'for'」と「' foreach'」キーワードは完全に同等です。 – ikegami