continueに関するkiyo_hikoのブックマーク (4)
-
powershell の ForEach-Object で、continue しようと したら、思ったように動かなかった話。 こんなコードを書いた。 gci -r | % { if ($_.Name -match "^tes.*") { continue } $_ } 現在のディレクトリ配下を再帰的に見て、ファイル名が tes から始まるもの以外を 表示する・・・みたいな処理。 マッチした場合のみ、 continue して次の処理に行きたいのだが、この書き方だと、 break したのと同じような動きになってしまい、初回マッチしたら、それ以降の処理 はされない。 やりたいことを満たすには、以下のように書けばいいみたい。 gci -r | % { if ($_.Name -match "^tes.*") { return } $_ } continue の代わりに return を使う。 参考
-
この記事は以前 http://blog.hiros-dot.net/ に書いたものです。 breakはループ制御(foreach, for, while, do)やswichないで出現した場合、そこでそのコードを終了します。 以下はforループでの break 使用例です。変数 $i が3に等しくなるとbreakが実行され、コードを終了します。 PS> for ( $i = 0; $i -lt 5; $i++ ) >> { >> if ( $i -eq 3 ) >> { >> break >> } >>Write-Host $i >> } >> 0 1 2 次に continue ですが continueが実行されると、実行フローはループの先頭へ移動し、次の反復処理を行います。breakと異なるのは、ループを終了しないことです。 以下はforループでのcontinue使用例です。if文で
-
javascriptでループから抜けるときはbreak;を使います。 for(var i=0, l=myArg.length; i<l; i+=1) { if(i === 7) { // ループから抜ける break; } } jQueryの.each()を使ってループを回していた時にループを抜けたい箇所にbreak;を書いたのですがjsHintでエラーが表示されてしまいました。 どうやらjQueryのループでbreakしたい時にはreturn false;としなければダメっぽいです。 jQueryでbreak $(myArg).each(function(i, elm) { if(i === 7) { // ループから抜ける ... break return false; } // 処理 }); ついでに、javascriptのcontinueに該当するjQueryでの書き方はretur
-
おせっかいとは思いながら、書かせてもらいます。 > 私は入れ子はできるだけなくし、入れ子構造の少ないシンプルなプログラムにしたいと思っているのです。 入れ子(ネスティング)が少ない程シンプルと言うのは、誤ったプログラム感です。 ネストは、構造化プログラミングではしょっちゅう出て来ます。 また、gotoやcontinueは、構造化プログラミング(先代的と捉えられるプログラミング技法)ですら使いません。多重ループからの脱出で使うbreak文(C言語)ですら、敬遠されています。 それに、if文のネストってうまく作れば1重で済みます。VBにはelse if文はありませんでしたっけ?でもVBは、select case文が強力ですよね。 > 他言語で用意されているcontinueはそのような理念の下に用意されているのだと思っています。(違うかもしれませんが) 全然違います。アセンブリ言語の残骸みた
-
1