クリエイター手抜きプロジェクト[165]学習編 JavaScriptでの繰り返しの書き方/古籏一浩

投稿:  著者:  読了時間:4分(本文:約1,800文字)


同じ処理を繰り返し行なう作業はたくさんあります。例えば、フォルダ内のファイルを全て読み出して、ページ上に配置する、テキストファイルの内容を1行ごとに読み込んで処理する、といったものです。

一定数繰り返す場合には、以下のように書く事がほとんどです。


for(i=0; i< 繰り返し数; i++)
{
 繰り返す処理
}

10回繰り返すのであれば以下のようになります。

for(i=0; i< 10; i++)
{
 繰り返す処理
}

999回なら以下のようになります。

for(i=0; i< 999; i++)
{
 繰り返す処理
}

ちなみに無制限に繰り返すには以下のように書きます。ただし、失敗するとアプリケーションを終了しないといけなくなってしまうので注意しましょう。

for(;;)
{
 繰り返す処理
}

ところで、質問メールで for(i=0; i< 10; i++) に何でiが多く使われるのかと聞かれることがあります。別にiを使わなくてもcountでも構いません。つまり以下のように書いても問題ありません。逆にiを使う方が問題なのだ、という意見も昔からあります。

for(count=0; count< 10; count++)
{
 繰り返す処理
}

じゃあ、何でiなの? という事になります。このiが使われる原因になったのはFORTRANというプログラム言語の影響が大きいようです。このFORTRANではI〜Nまでで始まる変数名の場合は、暗黙の宣言により「整数値」だけを扱うものとするというルールがありました。

つまり、I,J,K,L,M,Nであれば何も指定しなければ小数値を扱うことができず整数値のみの扱いになります。このため、繰り返しに使われるのはI、J、Kが圧倒的に多いわけです。

でも、I1, I2とかIの後ろに数値を付けて繰り返しに使う変数名にしてもいいのでは? と思われそうですが、昔は変数名の長さに制限があり、言語によっては1文字、BASIC言語でも2文字までしか使えない(認識しない)という時代がありました。結果的にI,J,Kといった1文字の変数になってしまったと思われます。

そして、FORTRANからBASIC言語に引き継がれ、BASIC言語を学習したプログラマがC言語へ、と伝承された上に人のプログラムを見ると、なぜか繰り返し変数がi,j,kになっているので、真似してそのまま引き継がれてしまったといったところでしょう。

ただし、これは古くからプログラムを作成してきた人の場合であって、新しい時代(1990年後半)では、このような暗黙のルールはありませんから、繰り返し変数には意味が分かる変数名を書く人も多いでしょう。

と思ってグーグルコードサーチで、ざっと見てみたら現在でもiやjを使っているサンプルの方が多いようです。

< http://www.google.com/codesearch?hl=ja&lr=&q=for >


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/ >

需要があるかどうかさっぱりですが、HDR(ハイダナミックレンジ)画像の素材ページを作ってみました。
< http://footage.openspc2.org/sozai/HDRI/ >

これまでと違って、合成用に使う元データもダウンロードできるようになっています。Photomatixが好みではない方はPhotoshop CS2/CS3などで合成することもできます。

photo
改訂第4版 JavaScript ポケットリファレンス
古籏 一浩
技術評論社 2006-10-18
おすすめ平均 star
starJavaScriptを使ったプロジェクトのお供に是非
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

[改訂版] PHP ポケットリファレンス (Pocket reference) 改訂新版 SQLポケットリファレンス (Pocket reference) 基礎 Ajax + JavaScript 改訂第5版 オールカラー  HTML ポケットリファレンス (POCKET REFERENCE) 標準DOMスクリプティング JavaScript+DOMによるWebアプリデザインの基礎



photo
ActionScript逆引きクイックリファレンス―5&MX&MX2004&8対応 for Windows & Macintosh
田中 康博 古籏 一浩 林 拓也
毎日コミュニケーションズ 2005-12
おすすめ平均 star
starFlash(ActionScript)の開発前の調査にも役立ちます
star良書です。

Flash逆引きクイックリファレンス 8&MX2004対応for Windows & Macintosh 速習Webテクニック FLASH8 ActionScript 実例サンプル47 (Quick master of web technique) Flash Hacks―プロが教えるテクニック&ツール100選 FLASH ActionScript スーパーサンプル集 1.0/2.0対応版[CD-ROM付き] Dreamweaver逆引きクイックリファレンス―8 & MX 2004対応for Windows & Macintosh



photo
Google Maps API逆引きクイックリファレンス―WEB2.0対応
古籏 一浩
毎日コミュニケーションズ 2006-09
おすすめ平均 star
star簡単にできます
starようやく出ました。使えるGoogleMapsリファレンス。

Google Maps API徹底活用ガイド Google Maps APIv2活用リファレンス Google Maps Hacks 第2版 ―地図検索サービスをもっと活用するテクニック Googleマップ+Ajaxで自分の地図をつくる本  Google Maps API徹底活用 PHP×WebサービスAPIコネクションズ

by G-Tools , 2008/04/14