Template

yahooに発見されてる。しかもこんな上位にうちのブログがでてる。リンクをたどって見にきた人に申し訳ないなぁ。ということで新トピック追加。

EPICの機能にテンプレートというものがあります。これに登録しておくと、補完機能で呼び出せるのでとても便利。私がよく使うのは、

SQLと書いて補完する(CTR+SPACE or ALT + /)と

my $sql = "";
my $sth = $dbh->prepare($sql) or Carp::croak $dbh->errsth;
$sth->execute() or Carp::croak $sth->errsth;
←ここにカーソルがくる。
$sth->finish;

fetchで補完すると
while(my $ra = $sth->fetchrow_arrayref){
←ここにカーソルがくる。
}

getterで補完すると
sub hoge{
my $self = shift;
$self->{_hoge} = shift if @_;
return $self->{_hoge};
}

の3つです。ちなみに3つめは、hogeの代わりにインスタンス変数を入れます。初めの一個に入力したら自動的に入力してくれるので便利かと。。

テンプレートの作り方(cf. getter)

  1. ウィンドウー>設定を開く
  2. Perl EPICー>Templatesを開く
  3. Newボタンをクリック
  4. Nameに補完のためのキーワード、Descriptionに説明を入力する
  5. Patternに以下のように入力

sub ${hoge}{
my $$self = shift;
$$self->{_${hoge}} = shift if @_;
return $$self->{_${hoge}};
}

  1. OKをクリック

以上!
やってみるとわかるけど、補完するとsubの行hogeのとこにカーソルが移動し、hogeを変更するとすべての${hoge}に同じ値が入ります。ちょっとしたことだけど、入力時間は大幅に減ります。

インスタンス変数の getter & setter はクロージャを使ってつくる方が私は好みですが、サンプルとしてわかりやすいかと。