Quel est l'équivalent Ruby de l'itérateur de chaîne en python?
data_chained = [] data2 = {} data_chained = chain(data_chained, data2)
Comment cela peut-il être fait en Ruby?
3 Réponses :
Est-ce ce que vous recherchez?
Vous l'utilisez comme ci-dessous:
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}
Depuis Ruby 2.6: s'il est Enumerable, vous pouvez chaîne it: (exemple tiré de la documentation, chaînage d'une plage à un tableau)
e = Enumerator::Chain.new(1..3, [4, 5]) e.to_a #=> [1, 2, 3, 4, 5] e.size #=> 5
J'ai mal compris le problème, c'est peut-être le même que itertools.chain en python. Cela a fonctionné pour moi ->
Enumerator::Chain.new(data_chained, data2)
Copie possible de Quel est l'équivalent Ruby de Python `itertools.chain`? < / a>
Faites-vous référence à
itertools.chain
? Cela fonctionne sur des itérables; l'utiliser sur des dictionnaires est un peu ... bizarre.