Bug #32 [ruby-reference-manual:806]

Hash.new の説明が難しい

Added by Ken DATE 395 days ago. Updated 151 days ago.

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

Revision 2906
Added by okkez 361 days ago

fixed #32

History

07/08/2008 03:09 PM - okkez _

  • Assigned to set to okkez _

07/08/2008 03:17 PM - okkez _

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
Applied in changeset r2906.

Also available in: Atom PDF