[ruby-core:94288] [Ruby master Feature#16095] 2 Features: remove (simplify) 'new' keyword and Property Shorthand
From:
FreeKMan@...
Date:
2019-08-11 20:30:50 UTC
List:
ruby-core #94288
Issue #16095 has been updated by D1mon (Dim F).
**figured out how to do it:**
``` ruby
%P[arg1 arg2]
```
in def initialize:
``` ruby
def initialize(arg1, arg2)
%P[arg1 arg2] # equals to: @arg1 = arg1, @arg2 = arg2
end
```
in hash:
``` ruby
a = 1
b = 2
h = %p[a b] # equals to: h = {a: a, b: b}
```
what do you say ???
----------------------------------------
Feature #16095: 2 Features: remove (simplify) 'new' keyword and Property Shorthand
https://bugs.ruby-lang.org/issues/16095#change-80618
* Author: D1mon (Dim F)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
**common use:**
``` ruby
class A
def initialize(arg1, arg2)
@arg1 = arg1
@arg2 = arg2
end
end
A.new(1,2)
```
1) feature: remove 'new' keyword:
``` ruby
A(1,2) # shorter and more comfortable
```
2) feature: Property Shorthand (like ES6)
``` ruby
class A
def initialize(arg1, arg2)
# shorter and more comfortable
@arg1, @arg2
# or this:
@arg1
@arg2
end
end
```
So as not to duplicate the code (words). May need to do some other syntax or character (:arg1, \^arg1, %arg1, ...)
can also be applied to other types.
Hash example:
``` ruby
a = 1
b = 2
h = {a:a,b:b} # common use
h = {a,b} # new syntax or {%a,%b} - any syntax of your choice
```
--
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>