Bug #32 [ruby-reference-manual:806]
Hash.new の説明が難しい
| Status : | Closed | Start : | 02/13/2008 | |
| Priority : | Normal | Due date : | ||
| Assigned to : | okkez _ | % Done : | 100% |
|
| Category : | doc | |||
| Target version : | - | |||
| reporter : | rock |
ruby_version : | 1.8 |
|
Description
Hash.new でブロックを与えるときの説明が初心者にはちょっと難しいです。
実行例の中の「ブロックはその都度実際に値がセットされるので、その心配はない。」を
「ブロックでその都度値をセットさせれば,その心配はない。」に変えると
だいぶ分かりやすくなると思いますが,如何でしょうか。
というのは,イディオムとも言える Hash.new{|h, k| h[k]=なにか } のブロックは,
1. 呼び出されたときにハッシュに値をセットすることと
2. その値を Hash#[] の値として返すこと
の二つの働きを担っていますが,初心者はそのことに気づきにくいからです。
Associated revisions
fixed #32