2022-06-01から1ヶ月間の記事一覧
ちょっと時間あいてしまいましたあが、のんびりやっていきます。 来月7月はお仕事が忙しくなる予定なので、やっぱり時間が空いてしまうのではないかなぁ、という感じです。 8章は6章なみに長くて盛り沢山だし・・・ しかし、現実逃避的に学習が進む可能性も…
リスト7.1 「牢屋の鍵」の所持を調べるコード まずは例示コードを愚直に。 #!/usr/bin/env perl use strict; use warnings; use feature qw/say/; use constant { false => !!0, true => !!1 }; my $has_prison_key = false; my @items = qw(steal_sword iro…
一旦まとめ 7章を目前に、どの内容をどこで学んだんだっけ・・・?というのを自分なりにまとめておきたくなりました。 コード書いたからか、結構覚えているなーという感じです。 あと、本を先に進めたい!という気が勝っておざなりにしてるところがあるなぁ…
リスト6.62 フラグ引数を使っている例 damege(true, damegeAmount); 確かに、これだけでは何が true なのかはコードを追いかけて関数の中身を見ないとわからんよなぁ。 ということで、それを「メソッドを分離する」で改良したところから。 ここクリックして…
リスト6.51〜6.54まで 一気にまとめたコードがこれ。 途中でしれっと出てくる Money クラスの add メソッドも書いております。 ・・・Perl で書き換えながらめっちゃ書きにくさを感じることがあります。 このコードだと、interface の HotelRates の中で分岐…
「このコード、動いたけど納得いかないかっこ悪い。絶対にもっとまともな実装の方法が有るはず」という直感は外れたことない気がする— sironekotoro (@sironekotoro) 2022年6月13日 という直感があって、その解が得られるタイミングは往々にして年単位だった…
リスト6.41 と 6.42 Gold会員とシルバー会員の判定メソッド あー、こういうコード書いた覚えあります・・・ ゴールド会員の判定ロジック if ( 100000 <= $history->total_amount ) { if ( 10 <= $history->purchase_frequency_per_month ) { if ( $history->…
脚注からヒントを得る ここしばらく「良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方」をやっております。 gihyo.jp その中でインターフェースって何?ということでググりつつ、適当にネットから拾いつつやっていたのですが…
早期 return でネスト解消 まぁ、これは書くまでもなく、わかる。 というか、例示コード書くのも辛い・・・ if ( $a == 1 ) { if ( $b == 2 ) { if ( $c == 3 ) { } } } 的な。 これに else や elsif が入ってくるとさらにカオスになるという。 ネストの深淵…
リスト5.19 C# の出力引数 ここでサンプルコードが C# になってますが、まぁなんとか読める気がします。 関数に参照渡しを行って宣言元の変数を変えるというコードです。 Perl だとこんな感じですかね。 #!/usr/bin/env perl use strict; use warnings; sub …
祝!Perl 5.36 ! ということで、初夏のはじめ頃のイベントである Perl の新規安定版リリースです。 metacpan.org うちは(anyenv経由の) plenv で複数の Perl のバージョンを扱っているので、 plenv での作業を書いておきます。 誰のためってもちろん、来…