[#91458] [Ruby trunk Feature#4475] default variable name for parameter — matz@...
Issue #4475 has been updated by matz (Yukihiro Matsumoto).
3 messages
2019/02/07
[ruby-core:91470] Re: [Ruby trunk Feature#4475] default variable name for parameter
From:
Ale Miralles <amiralles.net@...>
Date:
2019-02-07 12:48:26 UTC
List:
ruby-core #91470
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 <matz@ruby-lang.org> 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
>
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>