Ruby

メモ化でフィボナッチ数列(Ruby)

ちょっと調べたのでメモがてら書く。 実装 fibo = Hash.new do |hash, num| if num < 2 num else hash[num] = hash[num - 1] + hash[num - 2] end end 10.times { |val| puts fibo[val] } puts fibo 実行結果 0 1 1 2 3 5 8 13 21 34 {2=>1, 3=>2, 4=>3, 5=>…

instance_evalとclass_eval

今日たまたまenum_helpというgemの実装を見てて、「instance_evalとclass_evalってどっちがどうなんだっけ」ってなったので少し調べた。 zmbacker/enum_help 試しにenum_helpと似たようなサンプルを実装してみたので、サンプルとるりまの説明文をもとに備忘…

よくあるGemName.configureの実現方法をまとめた

ruby 2.4.0がついにでましたね。 Ruby 2.4.0 リリース FixnumとBignumがIntegerに統合されるとかが移行時に影響でそうな気がしますね。 さて今回はconfig/initializers/gem_name.rb内で GemName.configure do |config| confing.foo = 'bar' end とか設定して…

「オブジェクト指向設計実践ガイド」を読んだ

オブジェクト指向設計実践ガイド ?Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方作者: Sandi Metz出版社/メーカー: 技術評論社発売日: 2016/09/02メディア: Kindle版この商品を含むブログ (1件) を見る Practical Object-Oriented Design in R…