bradとmyとuse fieldsとPseudo-hashesとHash::Utilと bradプロダクトではuse fieldsが多用されています。そして、 my ClassName $var;のような変数宣言が多用されています。 perldoc -f myしてみるとuse fieldsで使うみたいな事が書いてありました。 use fieldsってのは package Jitensya; use strict; use warnings; use fields qw/(sound); sub new { my $proto = shift; my $self = ref $proto ? $proto : fields::new($proto); $self; } 1; のようなコードがあるとして use strict; use warnings; use Jitensya; my $
これ、コンパイル時チェックというのはあってますが、実効速度が遅いというのは誤解です。 use fields; と my TYPE EXPR; - 日々量産 fieldsを使うと、フィールドに不正な代入があったら、"コンパイル時"にはじくことが出来る。 ハッシュキーをよくtypoする人にはおすすめだが、実行速度は遅い。 typed myはコンパイル時にしか効果を及ぼさないので実行速度へのペナルティはありません*1。件のベンチマークでスコアが出ないのでは、fields::new()が遅いからですね。fields::new()の意味は、5.10.0より前のバージョンとの互換性のためと、実行時チェックのためのHash::Util::lock_keys()の適用です。5.10.0以上限定で実行時チェックが不要なら使う必要はありません。 コンパイル時チェックというのは次のようなことです。 packag
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く