【问题标题】:Ruby equivalent to Python chain()Ruby 等价于 Python chain()
【发布时间】:2019-08-15 02:57:41
【问题描述】:

python 中链迭代器的 Ruby 等价物是什么?

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

如何在 Ruby 中做到这一点?

【问题讨论】:

标签: python arrays ruby language-comparisons


【解决方案1】:

从 Ruby 2.6 开始:如果它是 Enumerable,您可以chain它:(来自文档的示例,将 Range 链接到数组)

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

【讨论】:

    【解决方案2】:

    这是你要找的吗?

    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}
    

    【讨论】:

      【解决方案3】:

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

      Enumerator::Chain.new(data_chained, data2) 
      

      【讨论】:

        猜你喜欢
        • 2012-11-26
        • 1970-01-01
        • 2011-08-18
        • 2019-03-14
        • 2010-09-23
        • 2012-02-21
        • 2011-03-18
        • 2014-05-15
        • 1970-01-01
        相关资源
        最近更新 更多