[#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:91471] Re: [Ruby trunk Feature#4475] default variable name for parameter
From:
Ale Miralles <amiralles.net@...>
Date:
2019-02-07 12:55:17 UTC
List:
ruby-core #91471
Also, I volunteer to (try to) implement it if you think that is something
that worth having in Ruby.
~ Ale Miralles
http://amiralles.com.ar
On Thu, Feb 7, 2019 at 9:48 AM Ale Miralles <amiralles.net@gmail.com> wrote:
> 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>