[代入]の検索結果


<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;
[1975] Posted by kagahiro at 2010/07/22 17:36:36
0 point | Link (4) | Trackback (0) | Comment (0)

プログラミング言語は、数学ではないし、もちろん自然言語でもないので、その中で使われる記号の意味が数学や自然言語と異なっていたとしても何ら問題はありません。

プログラムはコンピュータに対する命令の羅列にすぎません。そして、プログラミングで使われる記号の意味は、そのプログラミング言語の作者が、「この記号はこういう命令として解釈しますよ」と定義したものに過ぎないので、数学的な意味とも自然言語的な意味ともなんの関係もないのです。

もちろん、数学的な計算を行うプログラムを作るなら数学に関する知識も必要でしょうが、プログラミング自体は命令文を順番に書いていくだけなので、数学の才能も、数学の知識も必要はありません。数学とプログラミングは別のものなのです。

歴史的にみて、当初は数学的な計算にコンピュータを利用することが多かったため、世間では数学とプログラミングに何か関係のあるようなことのように思われていますが、実際はあまり関係ないというのが実態です。

a = a + 1; /* って違和感あるはずなのに */
でまともに数学を習った人ならつっかかるはずだし、実際つっかかるなのに、ほとんどの言語が代入演算子として=を採用しているのはなぜなのだろう?
そういうわけで、私は「a = a + 1;」に対しては何のつっかかりも違和感も感じないのですが、むしろ、
数学では「なんとかなのに」という言い方で数学とプログラミングが何か関係あるような言い回しには違和感を感じます。

大体、プログラミング言語の中での記号の意味と他の世界での意味が違うのがおかしいなどと言い出したら、プログラムなど組めないですよね。

プログラミングできる人とできない人との間の深い溝

プログラムはなぜ動くのか 第2版 知っておきたいプログラミングの基礎知識
著者:矢沢 久雄
価格:2,520円
日経BP社

by Amalink

[1369] Posted by kagahiro at 2009/07/10 19:06:13
1 point | Link (1) | Trackback (1) | Comment (0)

  1  


アクセスランキング

今日のアクセスランキング TOP 10

  1. 囲碁(いご) (2 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
  3. ドル円(USDJPY)で爆益を狙うハイリスクハイリターンのMT4向けナンピンマーチンEA「Hyper Dollar」 (2 PV)
  4. 爆益を狙うハイリスクハイリターンのナンピンマーチンEA「Hyper Dollar MT5」 (2 PV)
  5. 「国家非常事態」トランプ米大統領が日本に24%の関税を課すと表明 日経平均株価が急落 (2 PV)
  6. MT4向け無料ヘッジ(両建て)ツール(EA)「STOPPER FREE」 #自動売買 #FX (2 PV)
  7. 「Million Dollar MT5」のナンピンマーチン大会(#MCC2023)での設定 (2 PV)
  8. 百科事典 (2 PV)
  9. Eclipse(エクリプス) (2 PV)
  10. 「SQLite」に深刻なセキュリティ上の脆弱性 #データベースエンジン (2 PV)

今月のアクセスランキング TOP 10

  1. 2NN 2ちゃんねるニュース速報+ナビ (10 PV)
  2. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (7 PV)
  3. 爆益を狙うハイリスクハイリターンのナンピンマーチンEA「Hyper Dollar MT5」 (6 PV)
  4. Google(グーグル)検索 日本版 - ウェブ、画像の検索 (6 PV)
  5. ドル円(USDJPY)で爆益を狙うハイリスクハイリターンのMT4向けナンピンマーチンEA「Hyper Dollar」 (5 PV)
  6. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (5 PV)
  7. 究極の爆益ゴールドナンピンマーチンEA「Extreme(エクストリーム)」 MT4向け (5 PV)
  8. 仲値トレードが簡単にできる無料EA「NAKANE3」 #MT4 (5 PV)
  9. YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (4 PV)
  10. 今日(2020年5月26日、火曜日)の為替相場予想 #ドル円 #ユーロドル #ポンドドル #FX #デイトレード (4 PV)

アクセス統計

ディレクトリ

関連サイト