zoukankan      html  css  js  c++  java
  • Ruby中的迭代器简介

    each

    最简单的迭代器,它所做的就是连续访问收集的所有元素。

     [1,3,5,7,9].each { |i| puts i }

    输出结果:

    1

    3

    5

    7

    9

    独特的作用就是用来实现Ruby语言的for循环。因为在Ruby内建的循环原语只有while和until。for只是一个语法块。例如:

    for song in songlist
     song.play
    end

    Ruby会用each迭代器转换为:

    songlist.each do |song|
     song.play
    end

    collect

    它从收集中获得各个元素并传递给block。block会返回的结果被用来生成一个新的数组,例如:

    ["H", "A", "L"].collect {|x| x.succ}

    输出结果:

    ["I", "B", "M"]

    inject

    虽然直接翻译中文,名字不好理解,但是它也是很有用的迭代器,让你可以遍历手机的所有成员以累计出一个值。例如:

    [1,3,5,7].inject(0) {|sum,element| sum+element} --> 16
    [1,3,5,7].inject(1) {|product,element| product*element} –> 105
  • 相关阅读:
    mysql 索引学习笔记
    mysql mysqli pdo学习总结
    Flask-Login的实现
    Flask配置方法
    Flask-SQLAlchemy使用方法
    alpha阶段绩效考核
    Alpha版本后的心得体会
    代码及数据库展示
    功能简介
    最新的用户需求分析
  • 原文地址:https://www.cnblogs.com/wxfasdic/p/1730922.html
Copyright © 2011-2022 走看看