Issue #7340 has been reported by nathan.f77 (Nathan Broadbent). ---------------------------------------- Feature #7340: 'each_with' or 'into' alias for 'each_with_object' https://bugs.ruby-lang.org/issues/7340 Author: nathan.f77 (Nathan Broadbent) Status: Open Priority: Low Assignee: Category: lib Target version: next minor Following on from the discussions at #7297 and #7241, it is apparent that a shorter alias for 'each_with_object' would be much appreciated.
on 2012-11-13 00:18
on 2012-11-13 03:07
Issue #7340 has been updated by matz (Yukihiro Matsumoto). I dislike #into because it may or may not put something into the argument. I am OK with #each_with. Matz. ---------------------------------------- Feature #7340: 'each_with' or 'into' alias for 'each_with_object' https://bugs.ruby-lang.org/issues/7340#change-32832 Author: nathan.f77 (Nathan Broadbent) Status: Open Priority: Low Assignee: Category: lib Target version: next minor Following on from the discussions at #7297 and #7241, it is apparent that a shorter alias for 'each_with_object' would be much appreciated.
on 2012-11-13 03:26
Issue #7340 has been updated by merborne (kyo endo). matz (Yukihiro Matsumoto) wrote: > I dislike #into because it may or may not put something into the argument. > I am OK with #each_with. > > Matz. I would appreciate if you could look at #6687. but #each_with is OK for me :-) ---------------------------------------- Feature #7340: 'each_with' or 'into' alias for 'each_with_object' https://bugs.ruby-lang.org/issues/7340#change-32835 Author: nathan.f77 (Nathan Broadbent) Status: Open Priority: Low Assignee: Category: lib Target version: next minor Following on from the discussions at #7297 and #7241, it is apparent that a shorter alias for 'each_with_object' would be much appreciated.
on 2012-11-13 12:26
Issue #7340 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas).
The reason I dislike each_with_object and each_with is the "each" on
them. "each"'s return value isn't meaningful to me. That's why I would
prefer "map_to", "map_into" or just "into".
"into" here doesn't mean putting values "into" the array or hash. It
means: "turn/map object into a hash/array/whatever". It is not about
putting something into the passed object, but about converting the
original object (say numbers) into the object being passed as the
initial value like a hash or an array.
It is ok to chain operations as a pattern (like the one used by jQuery)
so that an_array.each{...}.sort would justify "each" returning the
original "an_array", but only to be able to chain operations and not
because "each" implies returning anything meaningful.
In that sense, each_with_object is currently supposed to return some
meaningful value. That is why I'd prefer to call it "map_to", "map_into"
or just "into".
numbers.map_into({}){...} should read "map numbers into a hash where
...". It would be even shorter if we just abbreviated "map_into" as just
"into".
Also, if there is any chance that this wouldn't be an alias to
each_with_object, I'd prefer the block's arguments order to be inverted
to be symmetric to "inject".
----------------------------------------
Feature #7340: 'each_with' or 'into' alias for 'each_with_object'
https://bugs.ruby-lang.org/issues/7340#change-32853
Author: nathan.f77 (Nathan Broadbent)
Status: Open
Priority: Low
Assignee:
Category: lib
Target version: next minor
Following on from the discussions at #7297 and #7241, it is apparent
that a shorter alias for 'each_with_object' would be much appreciated.
on 2012-11-13 12:37
On 13 November 2012 21:25, rosenfeld (Rodrigo Rosenfeld Rosas) < rr.rosas@gmail.com> wrote: > putting something into the passed object, but about converting the original > just "into". > > numbers.map_into({}){...} should read "map numbers into a hash where ...". > It would be even shorter if we just abbreviated "map_into" as just "into". > > Also, if there is any chance that this wouldn't be an alias to > each_with_object, I'd prefer the block's arguments order to be inverted to > be symmetric to "inject". I believe, given that explanation, that #map_to is a far more appropriate name than #map_into . . . and suddenly the reservations I had about this alias start to fade away. There is a clear semantic distinction between #each_with, where the focus is on the action performed in the block, and #map_to, where the focus is on the object returned from the block. So the question is: is this alias/method meant to be an analogue for #each, or for #map ? -- Matthew Kerwin, B.Sc (CompSci) (Hons) http://matthew.kerwin.net.au/ ABN: 59-013-727-651 "You'll never find a programming language that frees you from the burden of clarifying your ideas." - xkcd
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.