范围(Range)无处不在:a 到 z、 0 到 9、等等。Ruby 支持范围,并允许我们以不同的方式使用范围:

  • 作为序列的范围
  • 作为条件的范围
  • 作为间隔的范围

  1. 作为序列的范围

    (1..5)        #==> 1, 2, 3, 4, 5
    (1...5) #==> 1, 2, 3, 4
    ('a'..'d') #==> 'a', 'b', 'c', 'd'

    Range 转化为 Array

    range1 = (1..10).to_a  #=> [, , , , , , , , , ]
    range2 = ('bar'..'bat').to_a  #=> ["bar", "bas", "bat"]

    Range的迭代

    # 指定范围
    digits = 0..9 puts digits.include?(5)
    ret = digits.min
    puts "最小值为 #{ret}" ret = digits.max
    puts "最大值为 #{ret}" ret = digits.reject {|i| i < 5 }
    puts "不符合条件的有 #{ret}" digits.each do |digit|
    puts "在循环中 #{digit}"
    end
  2. 作为条件的范围
    score = 70
    
    result = case score
    when 0..40
    "糟糕的分数"
    when 41..60
    "快要及格"
    when 61..70
    "及格分数"
    when 71..100
    "良好分数"
    else
    "错误的分数"
    end puts result #=> 及格分数
  3. 作为间隔的范围
    范围的最后一个用途是间隔检测:检查指定值是否在指定的范围内。需要使用 === 相等运算符来完成计算
    if ((1..10) === 5)
    puts "5 在 (1..10)"
    end if (('a'..'j') === 'c')
    puts "c 在 ('a'..'j')"
    end if (('a'..'j') === 'z')
    puts "z 在 ('a'..'j')"
    end
    #=> 5 在 (1..10)
    #=> c 在 ('a'..'j')

最新文章

  1. 【转】一千行MySQL学习笔记
  2. NULL指针、零指针、野指针
  3. Python为什么不隐式实现self
  4. Android加载大图片OOM异常解决
  5. Effective Java 26 Favor generic types
  6. JavaScript 页面跳转的几种方式 转
  7. 基础字符串处理_C++
  8. Botposter.com集群ETCD2.3.7升级至3.0实录[原创]
  9. 类的__slots__属性
  10. (转)RabbitMQ消息队列(二):”Hello, World“
  11. ARM 7 用户模式下禁止/使能中断的一种方法--使用软中断 for Keil MDK
  12. ios的自动转屏
  13. jQuery的入门操作
  14. 关于MySQL中时间格式和取零点的问题
  15. android.util.Log常用方法
  16. 在Sublime中配置JsFormat
  17. win10的cmd中显示:telnet不是内部或外部命令也不是可运行的程序或批处理?
  18. C# Excel添加超链接
  19. pyspider安装完启动报错【connect to scheduler rpc error: error(111, &#39;Connection refused&#39;)】
  20. [developmemt][dpdk] dpdk优化(转)

热门文章

  1. 多线程 更新 winform 控件的值,以避免UI线程的卡顿
  2. [图]Windows 10 Build 16273版本更新发布:新增可变式字体Bahnschrift
  3. XPS 13 9360安装ubuntu 18
  4. Windows漏洞利用技术概述
  5. 诊断GRID无法启动问题
  6. WIN7系统程序放在中文文件夹打开报错及界面汉字变乱码
  7. Objective-C(装箱和拆箱)
  8. 20165322 实验四 《Android程序设计》
  9. out 和ref 的区别
  10. HDU 1221 Rectangle and Circle(判断圆和矩形是不是相交)