Ruby等同于Python chain()

时间:2019-03-24 20:13:43

标签: python arrays ruby language-comparisons

与python中的链迭代器等效的Ruby是什么?

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

如何在Ruby中完成

3 个答案:

答案 0 :(得分:2)

从Ruby 2.6开始:如果它是可枚举的,则可以chain :(例如来自文档的示例,将范围链接到数组)

e = Enumerator::Chain.new(1..3, [4, 5]) 
e.to_a #=> [1, 2, 3, 4, 5]
e.size #=> 5

答案 1 :(得分:0)

这是您要寻找的吗?

Hash#merge

您可以按如下方式使用它:

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}

答案 2 :(得分:0)

我误解了这个问题,它可能与python中的itertools.chain相同。 这对我有用->

Enumerator::Chain.new(data_chained, data2)