人気ブログランキング | 話題のタグを見る
トップ
んにぶろ
基本的にはITネタ中心のニュースサイトです。また当ページはリンクフリーです。  by early-days

 基本的にはITネタ中心のニュースサイトです。また、ネット上を散策していて見つけた面白い情報を紹介をしています(ゲームや動画、ツールなどがこれに含まれます。)。なお当ページはリンクフリーです。
by early-days
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
(Perlメモ) foreach と while の               ()中のコンテキストの違い
 foreach $line (<FILE>) { ... }
 という場合、 ファイルハンドルFILE からその内容を一気に読み込んでおき、
 その後それらを一行ずつ スカラー$line に代入して処理を行う。

 while (<FILE>) { $line = $_; ... };
 の場合は、 FILE から一行ずつ $line に読み込んで処理を行う。

 foreach の()の中は リストコンテキスト、
 while の()の中は スカラーコンテキスト
 で評価される為、両者には上記のような違いがでる。

 |ω・`)と、自分の為にメモ。
 ちょっとした違いのようですが、
 大きなファイルを扱う時にはけっこうな差が出てきます。
 一気に読み込む foreach は、逐次的に処理を行う while と比べ
 { ... } の処理に移るのがずっと遅くなるのです。
by early-days | 2005-05-11 18:34 | プログラム
<< Nintendo LEDライト... FF FlashRPG >>