ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Perlって難しい(笑)

2006-07-11 23:21:48 | PG(言語比較)

どうにもPerlってのはややこしい。使って慣れるしかないんだろうけど、その機会もあまりないしなー。でも今のうちに分かった部分だけメモ。

  • Perlって、二進数までちゃんと使えるのな。素晴らしい。
  • Perlって、クラス(っぽいもの)まで扱えるとは。
  • Perlって、ポインター(リファレンス)があったんだねぇ。しかし「型グロブ」とかいう奴との違い(利点)がいまいち分からない…。
  • Perlって、指数演算子がPL/Iと一緒だ…!
  • Perlって、サブルーチン呼び出しに「&」を付けるんだ。で、引数は常に配列になるんだ。
  • Perlって、文字列を複数書く演算子が「x」「x=」。単なるエックスだなんて…かっこよすぎる。他にそんな言語見たことない(笑)


コンストラクター相当のサブルーチンがPerlを象徴しているようで面白い。

sub new {
  my $class = shift;
  my $self = { var1 => 111, var2 => 222 }; #いわば変数定義
  bless $self, $class;
  return $self;
}

↓blessは$selfを返すから、returnを移動

sub new {
  my $class = shift;
  my $self = { var1 => 111, var2 => 222 };
  return bless $self, $class;
}

↓$selfを省略

sub new {
  my $class = shift;
  return bless { var1 => 111, var2 => 222 }, $class;
}

↓$classを省略

sub new {
  return bless { var1 => 111, var2 => 222 }, shift;
}

↓最後の戻り値がサブルーチンの戻り値となるので、returnは省略可能

sub new {
  bless { var1 => 111, var2 => 222 }, shift;
}

↓ちょっと改行

sub new {
  bless { #いわば変数定義
    var1 => 111,
    var2 => 222
  }, shift;
}

いきなり最後の形だけ見ても、意味わからないって!(苦笑)