Kotlin has it, too. It's a nice feature. In a pet language of mine, I added the index as an "implicit" argument, too. Something like this: elements = ["foo", "bar", "baz"] elements.each { puts "Element at index #{idx} has value #{it}." } "Element at index 0 has value foo." "Element at index 1 has value bar." etc.... I think it would be handy to have that in Ruby. ~ Ale Miralles. http://amiralles.com.ar On Thu, Feb 7, 2019 at 4:36 AM wrote: > Issue #4475 has been updated by matz (Yukihiro Matsumoto). > > > I still feel weird when I see `@` and `@1` etc. Maybe I will get used to > it after a while. > I need time. > > Matz. > > > ---------------------------------------- > Feature #4475: default variable name for parameter > https://bugs.ruby-lang.org/issues/4475#change-76718 > > * Author: jordi (jordi polo) > * Status: Assigned > * Priority: Normal > * Assignee: matz (Yukihiro Matsumoto) > * Target version: > ---------------------------------------- > =begin > > There is a very common pattern in Ruby: > > object.method do |variable_name| > variable_name doing something > end > > Many times in fact the name of the object is so self explanatory that we > don't care about the name of the variable of the block. It is common to see > things like : > > @my_sons.each { |s| s.sell_to_someone } > > or > > Account.all.each { |a| my_account << a.money } > > > People tend to choose s or a because we have the class or the object name > just there to remind you about the context. > > > I would like to know if can be a good idea to have a default name for that > parameter. I think it is Groovy that does something like: > > Account.all.each { my_account << it.money } > > Where it is automagically filled and it doesn't need to be declared. > > I think it is as readable or more (for newbies who don't know what is ||) > and we save some typing :) > > > =end > > > > > -- > https://bugs.ruby-lang.org/ > > Unsubscribe: > >