Project

General

Profile

Feature #13108

[Doc Request] Explicitly document Range#sum

Added by snood1205 (Eli Sadoff) almost 3 years ago. Updated almost 3 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:<unknown>]

Description

While Range#sum exists because it implements Enumerable#sum, it is not noted how it works. While it does provide a hint that it is not an alias to inject(:+), it is not explained that (a..b).sum implements (b-a+1)*(a+b)/2 which is O((log n)^2) instead of (a..b).inject(:+) which is O(n log n). It might be worth while either explicitly document Range#sum or at least documenting in Enumerable#sum that Range#sum has this behavior because the current documentation is not particularly descriptive and hides, what I think of, as quite a brilliant feature of 2.4.0.

History

Updated by snood1205 (Eli Sadoff) almost 3 years ago

  • Subject changed from [Doc Request] Explicitly Range#sum to [Doc Request] Explicitly document Range#sum

Also available in: Atom PDF