• ruby 的枚举


    #enum 的遍历=========
    [1,2,3,4].all?{|i| i>=1} # 所有是否都符合条件 返回true
    [1,2,3,4].all?{|i| i>=2} #返回false
    
    [1,2,3,4].any?{|i| i>=2} #有任何一个符合条件 返回true
    [1,2,3,4].collect {|i| i+=1} #集合中的每个元素都传递调用block,运行以数组的方式返回
    #enum.map 是collect 方法的别名
    ['a','b','c','d'].each_with_index{|obj,i| puts "#{i} - #{obj}"} #便利集合,obj为元素,i为索引
    
    
    #enum 的搜索========
    #enum.find(ifnone=nil){|obj|block} 找到第一个符合的返回,找不到则返回 ifnone 的值
    [1,2,3,4].find{|i| i>2} #返回3
    [1,2,3,4].find_all{|i| i>2} #返回 [3,4]
    #enum.find_all 和enum.select 方法完全相同
    [1,2,3,4].include?(3) #返回true
    
    
    #enum.inject(initial=nil){|memo,obj| block} 
    #把集合中的每个obj执行block ,block的结果返回给 memo。如果指定了initial 的值,memo为initial的值,并且第一个元素不再进入迭代。
    #eg: 求和
    [1,2,3,4].inject{|sum,obj| sum+obj}
    
    #enum.partition{|obj|block}
    #返回两个数组,第一个是使block为真,第二个是使block为假
    #如下:
    [1,2,3,4,5].partition{|i| i>2} #返回[[3,4,5],[1,2]]
    
    #enum 比较,排序==============
    [1,2,3,4].max #返回4
    ["a","bb","ccc","dddd"].max{|a,b| a.length <=> b.length}#返回 dddd
    
    #enum.min 和max类似
    
    [2,4,3,1].sort #返回 [1,2,3,4]
    ["a","ccc","bb","ddd"].sort{|obj| obj.length} #返回  ["a","bb","ccc","dddd"]
    ["ad","ac","a","ccc"].sort{|obj| [obj.length,obj]} #先按照长度,再按照字母来排序
  • 相关阅读:
    js 立即调用函数
    layui confirm
    jquery ajax
    abap append 用法
    少年愁
    SAP 物料移动tcode
    常用tcode
    ME23N PO 打印预览 打印问题
    Y_TEXT001-(保存长文本)
    ZPPR001-(展bom)
  • 原文地址:https://www.cnblogs.com/laoquans/p/3183599.html
Copyright © 2020-2023  润新知