アサーションの導入というのが紹介されていて,便利そうだった.
assertにブロックを渡して,結果が偽のとき例外が起きるようにする.
こういう感じ.
module Assertions class AssertionError < StandardError end def assert(&block) yield or raise AssertionError end end class Human include Assertions def initialize(name) assert{ name != nil } @name = name end end Human.new(nil) # ここで例外が起きる
こういうのはよいと思う.
- 作者: Jay Fields,Shane Harvie,Martin Fowler,Kent Beck,長尾高弘
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2010/02/27
- メディア: 大型本
- 購入: 8人 クリック: 300回
- この商品を含むブログ (37件) を見る