初めてのPerl

ランダル・L. シュワルツ,トム フェニックス
Amazonランキング:34323位
Amazonおすすめ度:


2次形式の変換作業を計算機にさせようと :mrgreen: Perlの入門書を本棚から引っ張り出してきた。良く知っている PASCAL とか C で書いてもいいのだが、まあ、所詮は整数の四則演算だから言語はどれでも大差ないから、復習も兼ねて。というか、以前、TeXの数式部分を画像に変換するプログラムを書いてから大分経つので、すっかり忘れてしまって、全くの初心者に戻っているのだけど(苦笑)。

Perl特有の習慣に未だ馴染めない所もあるが、まずまず理解しやすい本。実際に動作するサンプル・プログラムが付いているともっと良いと思うが。差し当たって、2次形式のデータ型を定義するにはどうするかとあちこち見るのだが、構造体ってのはないんですかね。


パスカルのレコード型、Cの構造体に対応するものが見つからないが、ハッシュで表現しろということなのだろうか。2次形式
\[ f(x,y)=ax^2+bxy+cy^2 \]
を (a,b,c) と略記して、これを一つのデータ型にしたいのであるが・・・。

パスカルなら、例えば、

type 
  quadratic_form = record
    left : integer;
    middle : integer;
    right : integer;
  end;

C は、えっと・・・うろ覚えだが、

struct quadratic_form {
  int  left;
  int  middle;
  int  right
};

みたいに定義すれば、quadratic_form 型というのが定義できる。

これをハッシュでやるとどうなるのかな? 個別の2次形式、例えば some_quadratic_form=(2,3,4) を表すには

%some_quadratic_form = (
  "left" => 2, 
  "middle" => 3,
  "right" => 4
);

などとするのだろうが、こういうものを包括的に一つの型として登録することはできないのだろうか。それとも、そういうことはしないという風土なのか。なんでもそうだけど、初心者はこんな簡単そうなところで悩むからつらいよねえ。

コメントを残す

メールアドレスが公開されることはありません。