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)
- ウィンドウー>設定を開く
- Perl EPICー>Templatesを開く
- Newボタンをクリック
- Nameに補完のためのキーワード、Descriptionに説明を入力する
- Patternに以下のように入力
sub ${hoge}{
my $$self = shift;
$$self->{_${hoge}} = shift if @_;
return $$self->{_${hoge}};
}
- OKをクリック
以上!
やってみるとわかるけど、補完するとsubの行hogeのとこにカーソルが移動し、hogeを変更するとすべての${hoge}に同じ値が入ります。ちょっとしたことだけど、入力時間は大幅に減ります。
インスタンス変数の getter & setter はクロージャを使ってつくる方が私は好みですが、サンプルとしてわかりやすいかと。