个性化阅读
专注于IT技术分析

Ruby范围解释和用法

本文概述

Ruby范围代表一组带有开头和结尾的值。可以使用s..e和s … e文字或:: new构造它们。

其中包含..的范围从头到尾都包括在内。其中包含…的范围专门运行最终值。

puts (-5..-1).to_a     
puts (-5...-1).to_a     
puts ('a'..'e').to_a    
puts ('a'...'e').to_a

输出

Ruby范围1

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范围2

条件范围

范围也定义为条件表达式。在一组行中定义了不同的条件。这些条件包含在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范围3

区间为间隔

范围也可以根据间隔来定义。间隔由===大小写相等运算符表示。

例:

#!/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范围4

Ruby反向范围

Ruby反向范围运算符不返回任何值。如果左侧值大于某个范围内的右侧值, 则不会返回任何值。

例:

#!/usr/bin/ruby 
    puts (5..1).to_a

上例的输出将不返回任何内容。

要打印反向订单, 可以在正常范围内使用反向方法, 如下所示。

例:

#!/usr/bin/ruby 
    puts (1..5).to_a.reverse

输出

Ruby范围5

赞(0)
未经允许不得转载:srcmini » Ruby范围解释和用法

评论 抢沙发

评论前必须登录!