[#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:91498] [Ruby trunk Feature#4475] default variable name for parameter
From:
merch-redmine@...
Date:
2019-02-08 16:55:24 UTC
List:
ruby-core #91498
Issue #4475 has been updated by jeremyevans0 (Jeremy Evans).
janfri (Jan Friedrich) wrote:
> So my preferred syntax for Ruby would be:
>
> ```ruby
> [1, 2, 3].map { &1 + 2 } # => [3, 4, 5]
> [1, 2, 3].reduce { &1 + &2 } # => 6
> ```
>
> But I'm not sure if this could be realized without syntax conflicts.
The problem with that is the syntax can be valid Ruby already, so it could break backwards compatibility:
```ruby
class Integer
def to_proc
proc{|v| self + v}
end
end
[1,2,3].map{|x| ([x]*2).map(&1 + 2)}
```
----------------------------------------
Feature #4475: default variable name for parameter
https://bugs.ruby-lang.org/issues/4475#change-76758
* 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>