Ruby Language
деструктурирующие
Поиск…
обзор
Большая часть магии деструктурирования использует оператор splat ( *
).
пример | Результат / комментарий |
---|---|
a, b = [0,1] | a=0, b=1 |
a, *rest = [0,1,2,3] | a=0, rest=[1,2,3] |
a, * = [0,1,2,3] | a=0 Эквивалентно .first |
*, z = [0,1,2,3] | z=3 Эквивалент .last |
Деструктурирование блочных аргументов
triples = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
triples.each { |(first, second, third)| puts second }
# 2
# 5
# 8
triples.map { |(first, *rest)| rest.join(' ') } # => ["2 3", "5 6", "8 9"]
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow