[代入]の検索結果
<TMPL_LOOP>タグはセクションを区切り、名前をつけることができます。この名前つきループの内側に<TMPL_VAR>タグを置き、プログラムでパラメータに代入するハッシュ・リファレンスの param() にリスト(配列リファレンス)を渡すと、リスト分の出力が繰り返されます。
以下は、<TMPL_LOOP>タグの使い方を示すサンプルプログラムです。サンプルプログラムでは、コンマで区切られたデータファイルを読み込んでリストを作成し、それをパラメータに渡してテーブルを表示しています。また、<TMPL_IF>タグ、<TMPL_ELSE>タグを使用してデータがない場合は、テーブルが出力されないようにしています。
--- データファイル(userdata.txt)
kagahiro,kitaakita,kagahiro3@59log.com,011678901 admin,tokyo,webmaster10@59log.com,011778901 buzei,kawasaki,support2@59bbs.org,041758901
--- テンプレートファイル(tmplloop.tmpl)
<html>
<head>
<title>HTML::Templateのサンプルプログラム LOOP</title>
</head>
<body>
<h1>HTML::Templateのサンプルプログラム LOOP</h1>
<TMPL_IF NAME=DATA_NUM>
<table>
<tr>
<td>User Name</td>
<td>Address</td>
<td>Email</td>
<td>Tel</td>
</tr>
<TMPL_LOOP NAME=USER_INFO>
<tr>
<td><TMPL_VAR NAME=USERNAME></td>
<td><TMPL_VAR NAME=ADDRESS></td>
<td><TMPL_VAR NAME=EMAIL></td>
<td><TMPL_VAR NAME=TEL></td>
</tr>
</TMPL_LOOP>
</table>
<TMPL_ELSE>
No data
</TMPL_IF>
</body>
</html>
--- CGI(tmplloop.cgi)
#!/usr/bin/perl
use strict;
use warnings;
use HTML::Template;
my $template = HTML::Template->new(filename => 'tmplloop.tmpl');
my @loop_data = ();
open my $infh, '<', "userdata.txt";
while (my $rec = <$infh>) {
chomp $rec;
if ($rec ne '') {
my %row_data;
my ($username, $address, $email, $tel) = split(/,/, $rec);
$row_data{USERNAME} = $username;
$row_data{ADDRESS} = $address;
$row_data{EMAIL} = $email;
$row_data{TEL} = $tel;
push @loop_data, \%row_data;
}
}
close $infh;
$template->param(USER_INFO => \@loop_data);
$template->param(DATA_NUM => scalar(@loop_data));
print "Content-Type: text/html; charset=utf-8\n\n";
print $template->output;
プログラミング言語は、数学ではないし、もちろん自然言語でもないので、その中で使われる記号の意味が数学や自然言語と異なっていたとしても何ら問題はありません。
プログラムはコンピュータに対する命令の羅列にすぎません。そして、プログラミングで使われる記号の意味は、そのプログラミング言語の作者が、「この記号はこういう命令として解釈しますよ」と定義したものに過ぎないので、数学的な意味とも自然言語的な意味ともなんの関係もないのです。
もちろん、数学的な計算を行うプログラムを作るなら数学に関する知識も必要でしょうが、プログラミング自体は命令文を順番に書いていくだけなので、数学の才能も、数学の知識も必要はありません。数学とプログラミングは別のものなのです。
歴史的にみて、当初は数学的な計算にコンピュータを利用することが多かったため、世間では数学とプログラミングに何か関係のあるようなことのように思われていますが、実際はあまり関係ないというのが実態です。
a = a + 1; /* って違和感あるはずなのに */
数学では「なんとかなのに」という言い方で数学とプログラミングが何か関係あるような言い回しには違和感を感じます。
大体、プログラミング言語の中での記号の意味と他の世界での意味が違うのがおかしいなどと言い出したら、プログラムなど組めないですよね。
プログラミングできる人とできない人との間の深い溝
プログラムはコンピュータに対する命令の羅列にすぎません。そして、プログラミングで使われる記号の意味は、そのプログラミング言語の作者が、「この記号はこういう命令として解釈しますよ」と定義したものに過ぎないので、数学的な意味とも自然言語的な意味ともなんの関係もないのです。
もちろん、数学的な計算を行うプログラムを作るなら数学に関する知識も必要でしょうが、プログラミング自体は命令文を順番に書いていくだけなので、数学の才能も、数学の知識も必要はありません。数学とプログラミングは別のものなのです。
歴史的にみて、当初は数学的な計算にコンピュータを利用することが多かったため、世間では数学とプログラミングに何か関係のあるようなことのように思われていますが、実際はあまり関係ないというのが実態です。
a = a + 1; /* って違和感あるはずなのに */
でまともに数学を習った人ならつっかかるはずだし、実際つっかかるなのに、ほとんどの言語が代入演算子として=を採用しているのはなぜなのだろう?そういうわけで、私は「a = a + 1;」に対しては何のつっかかりも違和感も感じないのですが、むしろ、
数学では「なんとかなのに」という言い方で数学とプログラミングが何か関係あるような言い回しには違和感を感じます。
大体、プログラミング言語の中での記号の意味と他の世界での意味が違うのがおかしいなどと言い出したら、プログラムなど組めないですよね。
プログラミングできる人とできない人との間の深い溝
![]() | プログラムはなぜ動くのか 第2版 知っておきたいプログラミングの基礎知識 著者:矢沢 久雄 価格:2,520円 日経BP社 by Amalink |
1
アクセスランキング
今日のアクセスランキング TOP 10
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (30 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (4 PV)
- MT4向け無料ヘッジ(両建て)ツール(EA)「STOPPER FREE」 #自動売買 #FX (3 PV)
- C# (2 PV)
- 動画共有サイト - ニコニコ動画 (2 PV)
- シストレ(システムトレード) - コンピューターシステムで株や通貨を自動売買 (2 PV)
- アボガドのオリーブオイル漬け (2 PV)
- Windows Vista Capable PC (2 PV)
- ハッピーハッキングキーボード(HHKB、Happy Hacking Keyboard) (2 PV)
- ブログを利用したECサイト向け口コミ広告サービス (2 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (165 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (155 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (79 PV)
- FC2まとめ (38 PV)
- 仲値トレードが簡単にできる無料EA「NAKANE3」 #MT4 (35 PV)
- MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (32 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (30 PV)
- 2ちゃんねる(2ch) (30 PV)
- 爆益を狙うハイリスクハイリターンのナンピンマーチンEA「Hyper Dollar MT5」 (27 PV)
- USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (24 PV)
アクセス統計
ディレクトリ
関連サイト
