[#61822] Plan Developers Meeting Japan April 2014 — Zachary Scott <e@...>

I would like to request developers meeting around April 17 or 18 in this month.

14 messages 2014/04/03
[#61825] Re: Plan Developers Meeting Japan April 2014 — Urabe Shyouhei <shyouhei@...> 2014/04/03

It's good if we have a meeting then.

[#61826] Re: Plan Developers Meeting Japan April 2014 — Zachary Scott <e@...> 2014/04/03

Regarding openssl issues, I’ve discussed possible meeting time with Martin last month and he seemed positive.

[#61833] Re: Plan Developers Meeting Japan April 2014 — Martin Bo煬et <martin.bosslet@...> 2014/04/03

Hi,

[ruby-core:62082] [ruby-trunk - Feature #8895] Destructuring Assignment for Hash

From: xovatdev@...
Date: 2014-04-17 23:25:13 UTC
List: ruby-core #62082
Issue #8895 has been updated by Sean Linsley.


This is what I'm imagining:

~~~
a, b, *c, d:, e:, f: 'f', **g = [1, 2, 3, {d: 4, e: 5}]

a == 1
b == 2
c == [3]
d == 4
e == 5
f == 'f'
g == {}
~~~

Where an error would be thrown if the hash didn't have the given key, and no default was provided.

----------------------------------------
Feature #8895: Destructuring Assignment for Hash
https://bugs.ruby-lang.org/issues/8895#change-46247

* Author: Jack Chen
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
=begin
Given Ruby already supports destructuring assignment with Array (a, b = [1, 2]), I propose destructuring assignments for Hash.

== Basic example

  params = {name: "John Smith", age: 42}
  {name: name, age: age} = params

  # name == "John Smith"
  # age == 42

This would replace a common pattern of assigning hash values to local variables to work with.

== General syntax

  { <key-expr> => <variable_name>, … } = <object that responds to #[]>

  # Symbols
  { foo: bar } = { foo: "bar" }
  bar == "bar"

  # Potential shorthand
  { foo } = { foo: "bar" }
  foo == "bar"

== Use cases:

  # MatchData
  { username: username, age: age } = "user:jsmith age:42".match(/user:(?<username>\w+) age:(?<age>\d+)/)
  username == "jsmith"
  age == "42"

== Edge cases

  # Variable being assigned to more than once should use the last one
  { foo: var, bar: var } = {foo: 1, bar: 2}
  var == 2

Thoughts?
=end




-- 
https://bugs.ruby-lang.org/

In This Thread