a new instance of
`Cacher` that holds the closure. Then, in each place we want the result, we
call the `value` method on the `Cacher` instance. We can call the `value`
method as many times as we want, or not call it at all, and the expensive
calculation will be run a maximum of once.
-->
<p>クロージャを変数に直接保存する代わりに、クロージャを保持する<code>Cacher</code>の新規インスタンスを保存しています。
そして、結果が必要な場所それぞれで、�