Ruby范围解释和用法

本文概述

  • 范围作为序列
  • 条件范围
  • 区间为间隔
  • Ruby反向范围
Ruby范围代表一组带有开头和结尾的值。可以使用s..e和s … e文字或:: new构造它们。
其中包含..的范围从头到尾都包括在内。其中包含… 的范围专门运行最终值。
puts (-5..-1).to_aputs (-5...-1).to_aputs ('a'..'e').to_aputs ('a'...'e').to_a

输出
Ruby范围解释和用法

文章图片
Ruby有多种定义范围的方法。
  • 范围作为序列
  • 条件范围
  • 间隔范围
范围作为序列 定义范围的最自然方法是按顺序进行。它们有一个起点和一个终点。它们是使用..或… 运算符创建的。
我们采用的样本范围是0到5。在此范围内执行以下操作。
例:
#!/usr/bin/ruby range = 0..5 puts range.include?(3) ans = range.min puts "Minimum value is #{ans}" ans = range.max puts "Maximum value is #{ans}" ans = range.reject {|i| i < 5 } puts "Rejected values are #{ans}" range.each do |digit| puts "In Loop #{digit}" end

输出
Ruby范围解释和用法

文章图片
条件范围 范围也定义为条件表达式。在一组行中定义了不同的条件。这些条件包含在start语句和end语句中。
例:
#!/usr/bin/ruby budget = 50000 watch = case budget when 100..1000 then "Local" when 1000..10000 then "Titan" when 5000..30000 then "Fossil" when 30000..100000 then "Rolex" else "No stock" end puts watch

输出
Ruby范围解释和用法

文章图片
区间为间隔 范围也可以根据间隔来定义。间隔由===大小写相等运算符表示。
例:
#!/usr/bin/ruby if (('a'..'z') === 'v') puts "v lies in the above range" end if (('50'..'90') === 99) puts "z lies in the above range" end

输出
Ruby范围解释和用法

文章图片
Ruby反向范围 Ruby反向范围运算符不返回任何值。如果左侧值大于某个范围内的右侧值, 则不会返回任何值。
例:
#!/usr/bin/ruby puts (5..1).to_a

上例的输出将不返回任何内容。
要打印反向订单, 可以在正常范围内使用反向方法, 如下所示。
例:
#!/usr/bin/ruby puts (1..5).to_a.reverse

【Ruby范围解释和用法】输出
Ruby范围解释和用法

文章图片

    推荐阅读