Рубиновый эквивалент цепочки Python () - PullRequest
1 голос
/ 24 марта 2019

Что такое Ruby-эквивалент цепного итератора в python?

data_chained = []
data2 = {}     
data_chained = chain(data_chained, data2)

Как это можно сделать в Ruby?

Ответы [ 3 ]

2 голосов
/ 25 марта 2019

Начиная с Ruby 2.6: если это Enumerable, вы можете chain it: (пример из документации, связывание Range с массивом)

e = Enumerator::Chain.new(1..3, [4, 5]) 
e.to_a #=> [1, 2, 3, 4, 5]
e.size #=> 5
0 голосов
/ 25 марта 2019

Я неправильно понял проблему, она может быть такой же, как itertools.chain в python. Это сработало для меня ->

Enumerator::Chain.new(data_chained, data2) 
0 голосов
/ 25 марта 2019

Это то, что вы ищете?

Hash # сливаться

Вы используете его, как показано ниже:

h1 = { "a" => 100, "b" => 200 }
h2 = { "b" => 254, "c" => 300 }
h1.merge(h2)   #=> {"a"=>100, "b"=>254, "c"=>300}
h1.merge(h2){|key, oldval, newval| newval - oldval}
       #=> {"a"=>100, "b"=>54,  "c"=>300}
h1             #=> {"a"=>100, "b"=>200}
...