Bug #33 [ruby-reference-manual:808]

Enumerable#injectの説明

Added by Ken DATE 394 days ago. Updated 74 days ago.

Status :Closed Start :02/13/2008
Priority :Normal Due date :
Assigned to :- % Done :

100%

Category :doc
Target version :-
reporter :

rock

ruby_version :

1.8


Description

Enumerable#inject の説明の「合計を計算する」の例が

 p [1, 2,3, 4, 5].inject(0) {|result, item| result + item }

となっていますが,無駄な計算をさせないため inject の初期値を省略すべきと思います。

逆に初期値の必要な例として,

 p %w(u b i).inject("text"){|result, tag| "<#{tag}>#{result}</#{tag}>"}

みたいのを挙げるのはいかがでしょうか。

Associated revisions

Revision 3435
Added by sheepman 74 days ago

Fixed #33

History

06/03/2008 10:15 PM - Ken DATE

rock (2008-02-13 (水) 09:50:52)

初期値を使う例として文字列処理のサンプルを一つ提案しましたが,これを撤回します。
初期値の要らない例として,総和計算を挙げたら,初期値の要る例として二乗和計算を
対比的に挙げるのが良さそうです。わずかな違いで初期値の要不要が変わるので,
inject が理解しやすくなるような気がします。 

04/19/2009 03:47 PM - Takashi Tamura

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

Also available in: Atom PDF