Ruby 迭代器



  • 迭代器

    迭代器不过是集合支持的方法。存储一组数据成员的对象称为集合。在Ruby中,数组和哈希可以称为集合。迭代器一个接一个地返回集合的所有元素。我们将在这里讨论两个迭代器,每个迭代器和collect。让我们详细看看这些。
  • each 迭代器

    each 迭代器返回数组或哈希的所有元素。
    语法
    
    collection.each do |variable|
       code
    end
    
    
    为collection中的每个元素执行code。在这里,collection可以是数组或Ruby哈希。
    例子
    
    ary = [1,2,3,4,5]
    ary.each do |i|
       puts i
    end
    
    
    尝试一下
    将每个迭代器与一个块相关联。它将数组的每个值一一返回到块。该值存储在变量i中,然后显示在屏幕上。
  • collect 迭代器

    collect迭代器返回一个集合中的所有元素。
    语法
    
    collection = collection.collect
    
    
    collect方法不一定总是与块关联。collect方法返回整个集合,无论它是否是一个数组或哈希。
    示例
    
    a = [1,2,3,4,5]
    b = Array.new
    b = a.collect
    puts b
    
    
    尝试一下
    注意:collect方法不是在数组之间进行复制的正确方法。还有另一种称为clone的方法,该方法应用于将一个数组复制到另一个数组中。当您想对每个值进行操作以获取新数组时,通常可以使用collect方法。例如,该代码产生的数组b含有10倍的每个值一个。
    
    a = [1,2,3,4,5]
    b = a.collect{|x| 10*x}
    puts b
    
    
    尝试一下
    更多内置函数,参考方法,请查阅参考手册。