[#97678] [Ruby master Feature#16752] :private param for const_set — bughitgithub@...
Issue #16752 has been reported by bughit (bug hit).
5 messages
2020/04/02
[ruby-core:97952] [Ruby master Feature#16781] alias :fold :reduce
From:
shannonskipper@...
Date:
2020-04-18 17:17:47 UTC
List:
ruby-core #97952
Issue #16781 has been updated by shan (Shannon Skipper).
0x81000000 (/ /) wrote:
> 2. Name "fold" is more common/popular than "reduce" or "inject".
I was surprised to hear this, since I think of "reduce" as most popular. A quick survey of popular languages seems to confirm that "reduce" is most popular, followed by "accumulate."
Reduce:
> JavaScript
> Python
> Java
> PHP
> Ruby
> TypeScript
> Swift
Accumulate:
> C#
> C++
Fold:
> *Not found*
You do also see "fold" in functional languages like Clojure, Scala, Elixir, et cetera, where it has a different meaning than "reduce," which is also present. In any case, "inject" has fallen out of favor.
> I have no idea how to properly add "fold" in Ruby's stdlib/corelib.
You could an `rb_define_method(rb_mEnumerable, "fold", enum_inject, -1);` here: https://github.com/ruby/ruby/blob/v2_7_1/enum.c#L4172-L4173
----------------------------------------
Feature #16781: alias :fold :reduce
https://bugs.ruby-lang.org/issues/16781#change-85178
* Author: 0x81000000 (/ /)
* Status: Open
* Priority: Normal
----------------------------------------
1. Method "collect" has short synonym "map", short synonym of "inject" and "reduce" doesn't exist.
2. Name "fold" is more common/popular than "reduce" or "inject".
In my own code I use:
```
module Enumerable
alias :fold :reduce
end
```
I have no idea how to properly add "fold" in Ruby's stdlib/corelib.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>