@techno_neko
組み込み系
Hokkaido.pm
「Amon2によるWebアプリケーションの高速開発」が載ってます!
関数の引数でよく見かけるアレについて
既存のモジュールで見かける方法
Perlベストプラクティスに載ってる方法
write_thumb( 'foo.jpg', 320, 240, 'bar.jpg' );
use strict; use warnings; use Imager; write_thumb( 'foo.jpg', 320, 240, 'bar.jpg' ); sub write_thumb { my ( $dst, $w, $h, $src ) = @_; my $image = Imager->new(); $image->read( file => $src ) or die $image->errstr; my $thumb = $image->scale( xpixels => $w, ypixels => $h, type => 'nonprop' ); $thumb->write( file => $dst ) or die $thumb->errstr; }
# write_thumb( 'foo.jpg', 320, 240, 'bar.jpg' ); write_thumb( dst => 'foo.jpg', width => 320, height => 240, src => 'bar.jpg' );
use strict; use warnings; use feature 'say'; test( a => 1, b => 2 ); sub test { my %args = @_; say $args{a}; # 1 say $args{b}; # 2 }
左側が裸の場合は文字列として扱ってくれる
# aとbを文字列として扱ってくれる my %args1 = ( a => 1, b => 2 ); # なので、次と同じ my %args2 = ( "a" => 1, "b" => 2 ); my %args3 = ( "a" , 1, "b" , 2 );
use strict; use warnings; use feature 'say'; test( {a => 1, b => 2} ); sub test { my $args_ref = shift; say $args_ref->{a}; # 1 say $args_ref->{b}; # 2 }
こういう場合を考慮しているらしい
# 第2引数はオプションを想定 test( 'hoge', {a => 1, b => 2} );
use strict; use warnings; use feature 'say'; test( {a => 1, b => 2} ); test( a => 1, b => 2 ); sub test { my $arg_ref = ( ref $_[0] ) ? shift : +{ @_ }; foreach my $key (keys $arg_ref) { say $key . ' => ' . $arg_ref->{$key}; } }
扱ってる内容もカジュアル!
4月から始めて、すでに9回も開催!
だいたい10人弱
19:00〜21:00の2時間(次回は1/16)
ぜひ、講師として来て頂けませんか?
質問しに来ませんか?
/
#