[ruby-core:79885] [Ruby trunk Feature#13272] Keyword argument to instantiate a subclass of Struct

From: tagomoris@...
Date: 2017-03-03 04:10:41 UTC
List: ruby-core #79885
Issue #13272 has been reported by Satoshi TAGOMORI.

----------------------------------------
Feature #13272: Keyword argument to instantiate a subclass of Struct
https://bugs.ruby-lang.org/issues/13272

* Author: Satoshi TAGOMORI
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
When we define a subclass of Struct, it take arguments of values of fields when instantiated:

```ruby
ServiceAccount = Struct(:account_name, :full_name, :nickname, :name_invited_by, :twitter_account_name)
a = ServiceAccount.new("tagomoris", "satoshi tagomori", "satoshi", "satoru", "@tagomoris")
```

It's simple and enough easy to use when the code to instantiate it is near from definition.
But sometimes the code using ServiceAccount may be far from definition, and hard to read/understand what does an element represent.

I want to use keyword arguments to instantiate struct objects in such case. it's far easier to understand rather than arguments without keywords:

```ruby
a = ServiceAccount.new(
  account_name: "tagomoris",
  full_name: "satoshi tagomori",
  nickname: "satoshi",
  name_invited_by: "satoru",
  twitter_account_name: "@tagomoris",
)
```



-- 
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>

In This Thread

Prev Next