Yokohama.rb Monthly Meetup #88 に参加した

2018-02-17(月)のYokohama.rb Monthly Meetup #88 参加メモです。

yokohamarb.doorkeeper.jp

Rubyレシピブック

気づいたら第11章「オブジェクトとメタプログラミング」に入っていました。

  • 273: オブジェクトが同じか調べる
  • 274: オブジェクトを複製する
  • 275: オブジェクトのクラスを調べる
  • 276: オブジェクトを文字列に変換する
  • 277: オブジェクトを数値に変換する

とくに盛り上がったのは274, 277あたりでしょうか。274ではObject#dupObject#cloneといったメソッドがshallow copyであるという話が紹介されていて、deep_copyのようなものはあったっけというところから、Active Supportのdeep_dupの実装を見ていました。ArrayやHashに対しては再帰的にdeep_dupを呼んでコピーしています。

rails/deep_dup.rb at v5.1.5 · rails/rails

277ではto_iが数値として有効でない文字列やnilを0に変換するのに対して、Kernel.#Integerは数値として有効でないデータに対しては例外を投げるという厳密なメソッドなので、後者を使うほうが安全な場面は結構あるのではという話をしていました。

Slack

Yokohama.rbのSlack workspaceができました。@hamaknさんにSlackinをセットアップしていただきました。



次回は2018-03-17です。

yokohamarb.doorkeeper.jp