OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

for と foreach は同じ

  • 暇なときにでも
  • 質問No.138942
  • 閲覧数62
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 59% (194/328)

foreach (配列){}

↑は foreach らしい処理だと思っていたけど、
それが for でもできました。
for は foreach でできる全てのことをカバー
できている気がしました。

でも、そんなはずはないと思って質問しました。
foreach でなければできない処理の例を
教えてください。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 37% (419/1115)

foreachでないと出来ない処理は無いようですね。
書き方を変えてやればforで同様の処理はカバーできるようです。
foreachでは使えるcontinueブロックもforの書式の中では同様のことが出来る為不要ですし。
尚、私の手持ちの書籍では、「スクリプトではforとforeachは同じものとして扱われる」と書かれています。
お礼コメント
A__

お礼率 59% (194/328)

ありがとうございます。
同じものが定義されるはずはない
と思って質問したのに、同じだったんですね。
投稿日時 - 2001-09-21 01:44:53
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル12

ベストアンサー率 75% (398/526)

「for」と「foreach」は同じものです。なので   for (リスト) {     :   } とか、   foreach ($i = 0; $i < xx; $i++) {     :   } 等と言った書き方もOKです。  つまりPerlのforループは、C言語のfor的な使い方と、リストの各要素への反復処理という2通りの使い方ができるので、コードを読みやすくするため ...続きを読む
「for」と「foreach」は同じものです。なので
  for (リスト) {
    :
  }
とか、
  foreach ($i = 0; $i < xx; $i++) {
    :
  }
等と言った書き方もOKです。

 つまりPerlのforループは、C言語のfor的な使い方と、リストの各要素への反復処理という2通りの使い方ができるので、コードを読みやすくするため、前者はfor、後者はforeachと、目的に合わせて使い分けるのが一般的です。
※ただし、foreachの代わりにforを使う人は結構います。
お礼コメント
A__

お礼率 59% (194/328)

ありがとうございます。
機能は同じでも、スカラは for
配列は foreach としてあるソースでだと
ソースを理解しやすいというメリットが
あるんですね。
投稿日時 - 2001-09-21 01:44:55


  • 回答No.3
レベル11

ベストアンサー率 47% (160/334)

 他の方も書いておられますが,forとforeachは全く同じものです。  Perlの作者 Larry Wall 氏と "Just Another Perl Hacker" Randal L. Schwaltz 氏の共著で,ほとんど Perl のバイブルと呼んでも差し支えない『Perlプログラミング』(原題:"Programming perl")にそう書かれて ...続きを読む
 他の方も書いておられますが,forとforeachは全く同じものです。

 Perlの作者 Larry Wall 氏と "Just Another Perl Hacker" Randal L. Schwaltz 氏の共著で,ほとんど Perl のバイブルと呼んでも差し支えない『Perlプログラミング』(原題:"Programming perl")にそう書かれてますから,間違いありません。私の持ってるのはちょっと古い1993年初版のものですが,p.126 にその旨の記述がありますし,7.4.3節「プログラマの効率を上げるためのヒント」には,「foreachのかわりにforと書く(だって短いんだもの)」と,7.4.4節「保守する人の効率を上げるためのヒント」には「foreachを意味するときは,ちゃんとforeachと書く」とあります。ちなみに私の書き方は後者です。
お礼コメント
A__

お礼率 59% (194/328)

ありがとうございます。
投稿日時 - 2001-09-21 01:47:07
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ