syntax/grouped_assignment.rb

tests/_examples/syntax/grouped_assignment.rb in the metorex repository.

# A multiple assignment written inside a group answers its right-hand side.
p((a, b = 1, 2))
p([a, b])

p((first, second, third = 1))
p([first, second, third])

# `defined?` reports on an assignment without carrying it out.
p(defined?(counted = 1))
p(defined?(@held = 2))
p(defined?($named = 3))
p(defined?(counted %= 2))
held = []
p(defined?(held[0] = 1))
p(held)

Output:

[1, 2]
[1, 2]
1
[1, nil, nil]
"assignment"
"assignment"
"assignment"
"assignment"
"method"
[]