prototypeの書き方 (1)
sub name (prototype) { ... }
サブルーチン定義の後ろに括弧で書く
sub name :prototype(prototype) { ... }
attributeを使うこともできる (subroutine signaturesと衝突しない)
Slide 10
Slide 10 text
prototypeの書き方 (2)
sub name (prototype) { ... } ← この発表ではこっちを使う
サブルーチン定義の後ろに括弧で書く
sub name :prototype(prototype) { ... }
attributeを使うこともできる (subroutine signaturesと衝突しない)
定数展開
sub a1 () { "aaa" }
say a1 . "bbb";
コンパイル時に say "aaabbb" に展開される
use constantしたときと似たような効能が得られる
sub a2 { "aaa" } だと展開されない
https://perldoc.perl.org/perlsub#Constant-Functions
身近に潜むprototype採用事例 (List::MoreUtils) (5)
% carmel exec perl 02-list-moreutils-zip6.pl
Too many arguments for List::MoreUtils::XS::zip6 at 02-list-moreutils-zip6.pl line
16, near ")"
Execution of 02-list-moreutils-zip6.pl aborted due to compilation errors.