毎日やったことを記録していく(2019/10/8 184日目)
今日やったこと
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:5問
iKnow
- 新規:0個
- 復習:5個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
読書
Refactoring: Ruby Edition
位置No: 959〜979
開発
danime-nico-tools
fixtures
の更新
知ったこと
関数合成
関数合成はProc#>>やProc#<<を使う。
そして&にはProcを渡せる。
つまり下記のような書き方ができる。
# Ruby2.7のNumbered Parameterも使ったコード Hoge.public_instance_methods(false).tap(&-> { delegate(_1, to: :hoge) } >> -> { private *_1 }) # Rails5.2の場合はdelegateにprivateキーワードがあるのでこの書き方はしなくてもいい
大変便利。
Enumerator::Lazy
遅延評価をするためのクラス。
複数回mapを読んだりする場合にループ回数を減らしたりできるが、lazyは基本的に遅くなる。
下記のような場合に使う。
- 大きすぎて全体をメモリに乗せられないもの 例:数GBのファイル
- 終わりがわからないもの 例:ネットワーク越しにやってくるデータ
- 終わりがないもの 例:
(Date.today..)
感想等
仕事は落ち着いた。
今日はruby-jpに入り浸ってしまったwww(ちゃんと仕事はしてると前置きしつつ)
週末に社内でLTしないといけないけど準備全然できてないー(゚Д゚)ウボァー