[Tokyo.pm] 書評 入門Perl/Tk について

OKABE, Keiichi okabek @ beige.ocn.ne.jp
2000年 2月 11日 (金) 11:07:53 CST


岡部です。入門Perl/Tkの書評をちゃちゃっと書いてみました。

# こういうの書くときにペンネームにしたほうがいいのかなぁ
# 会社なんか言ってくるかしら・・・
# いろいろ考えて楽しんでます
# 例えば、佐島忠介(鬼平犯科帳に出てくる与力のパクリ;かっこいい)
# 台場 遊(私ダイビングでガイドしてます)

この前、A41枚ぐらいと前田さんに言われたけど、まだ
何にも考えずに書いています。絵やサンプルがあったほうが
いいでしょうかね?

それから変なタグがついてますが、これXMLで書いてみようと
思ってつけているものです。あまり気にせずにごらんになって
ください。

それから文章を書いてると、基本的な用語を引用できる環境が
欲しくなりました。例えば以下の文章ではハッシュ、配列などの
説明に「プログラミングPerl」の用語集の記述を引用しています。
用語集をネット上に展開(? う〜む、言い方がわるいかな、
何かインデックスをつけて用語の意味を引けるような使い方)
できると便利だと思います。

今日のワンライナーの次に用語集を作って載せるというのは
いかがでしょう。著作権上難しいのでしょうか?

# ちなみに誰の許可がいるんでしょうかね。
# 原著者、O'Reilly, オライリー、訳者の近藤さんなんでしょうか。
# ご存知の方後学のために教えてください。

ご意見、ご感想をお待ちしております。

# それにしても、この文章どこに載せるの? (^^;
# 書くの早すぎたかしら

---
use Tk;$c=tkinit->Canvas(-height=>50,-width=>100)->pack;$a="15115155,223342,
2343,3335,24254544,6163,5292918185,53939484,7273,6465757464";$a=~s/\s//g;
map{s/(\d)/sprintf("%s,",$1*10)/eg;$c->createLine(split /,/,$_)}(split /,/,$a);
MainLoop; #okabek @ beige.ocn.ne.jp

=============== begin =================
<書評>
<はじめに>
<タイトル>入門 Perl/Tk</タイトル>
<担当者>岡部恵一</担当者>
<作成日 年="2000" 月="2" 日="11"/>
</はじめに>
<本文>
<概要>
<段落>
長い間Perlにはコマンドラインのインタフェースしかありません
でした。その状況を変えたのがPerl/Tkです。といっても、Perlと
Perl/Tkとが全然違うということではありません。Perl/TkはTcl/Tkを
Nick Ing-SimmonsさんがPerlに移植したモジュールです。ですから、
Perl/Tkを使うにはTkモジュールをあなたのお使いのPerl環境に
インストールすればよいのです。
</段落>
<段落>
この本では、Perl/Tkの概要、ジオメトリ管理、ボタンやラベル
といった基本的なウィジェット(画面上の基本単位)の使い方を説明
しています。この本を読んで基本的なことを理解したらwidget
(Tkをインストールすると入ってくるPerl/Tkのサンプルツール)
やネットワーク(CPANやActiveStateのPPMサイトなど)を探して
自分の目的に合ったウィジェットを使ってみてください。
</段落>
<段落>
ただ残念なことにまだPerl/Tkは日本語に対応していません。そのため
ラベルに日本語を表示するには問題ないのですが、テキスト編集
を行っているときやマウスの移動時に文字化けを起こしたり、
アプリケーションが異常終了することがあります。ちなみに
この問題は
<![CDATA[
<a href="http://www.geocities.co.jp/SiliconValley-PaloAlto/2514/">
力技</a>]]>
で解決できるかもしれません。
</段落>
</概要>
<対象読者>
「はじめに」の中では、「Perl/Tkを始めて使う人とすでに
使ったことのある人を読者として想定し、全体を構成して
書いてある」とあります。Perl自体については、少なくとも
以下の表に書いてあることについて勉強しておいた方がよいです。
<表 id="1">
<行>
<名前>ハッシュ<名前/>
<説明>キーと値の対から構成される名前付きのリスト。キーを与えると
対応する値が容易に取得できる
<説明/>
</行>
<行>
<名前>配列<名前/>
<説明>値のリストに名前を付けたもの。それぞれの値は、それを
識別するための一意なキーを持っている
<説明/>
</行>
<行>
<名前>サブルーチン<名前/>
<説明>プログラム中の他の箇所から、何らかのサブゴールを
実現するために呼び出すことができる、名前が付けられた
コードの集まり
<説明/>
</行>
<行>
<名前>上記の無名なもの<名前/>
<説明>無名とは、名前の付いた変数によって、直接にアクセスできない
ような「物」を著す言葉
<説明/>
</行>
</表>
</対象読者>
<特徴>
<段落>
私は2章と3章、この二つの章がこの本のポイントだと思います。
2章ではジオメトリ管理、3章では基本的なウィジェットである
ボタンウィジェットについての説明があります。
</段落>
<段落>
昔、私が初めてPerl/Tkを使った時に苦労したのはジオメトリ管理でした。
Perl/Tkで画面上にウィジェットを表示させるためには、その
ウィジェットをジオメトリーマネージャに渡す必要があり、
ジオメトリマネージャがウィンドウ上でのウィジェットの位置
と大きさを制御しているんです。
</段落>
<段落>
とまぁ、ここまではふんふんと理解したものの、実際に自分がボタンを
画面上に貼り付けようとすると、てんで思ったとおりに行きません。
ぱっと見はいいんだけど、ウィンドウサイズを変更すると変なところに
ボタンが残ってしまったりとかいうことがずいぶんありました。
(別に過去形で書かなくても今でも苦労してますが・・・)
</段落>
<段落>
「入門Perl/Tk」ではその2章をジオメトリ管理に当てており、いくつか
あるジオメトリマネージャのうちのpack, place, gridについて説明
しています。特にpackは普段Perl/Tkでスクリプトを組む上でよく
使うジオメトリマネージャで、これの使い方がサンプルコードと
図解で詳しく説明されています。ジオメトリマネージャを使って
ウィジェットの貼り付け方を工夫すると、簡単にシステムコントロール
画面やカレンダー画面などを作ることができるようになります。
(もちろんそのためにはラベルウィジェットなどの使い方も
理解する必要がありますね)
</段落>
<段落>
そして2章でジオメトリマネージャについての知識を深めたら、
3章のボタンウィジェットで基本的なウィジェットの使い方を覚え
ましょう。後は自分が使ってみたいウィジェットについて、
本をリファレンス代わりに使ってみましょう。勘所がわかったら、
「Perl/Tk デスクトップリファレンス」などをリファレンスとして
使うのもよいと思います。
</段落>
</特徴>
<おわりに>
<固定>
Tokyo.pmでPerlについての書評を書くというアイディアは
2000年1月の例会の場で出てきたアイディアです。その心は
誉めることです。ポイントをしぼって誉めるんだぁ!
これを機会にPerlやPerl Mongersの活動に興味を持って
いただければ幸いです。
<CopyRight>Tokyo Perl Monger</CopyRight>
</固定>
<自由>
書評の初回を岡部が担当しました。XMLを使ったフォーマット
を作ってみたりしていろんなことに挑戦してみています。が、
肝心の書評自体はいかがでしょうか。
</自由>
</おわりに>
</本文>
</書評>





Tokyo-pm メーリングリストの案内