美文网首页
Ruby Range

Ruby Range

作者: changsanjiang | 来源:发表于2017-09-25 10:39 被阅读22次
#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

# 范围
    # Ruby 支持范围, 并允许以不同的方式使用范围.
    # => 作为序列的范围
    # => 作为条件的范围
    # => 作为间隔的范围

# => 作为序列的范围
    # => 序列有一个起点, 一个终点和一个在序列产生连续值的方式.
    # => 使用 ".." 和 "..." 范围运算符创建这些序列.
    # => 两点创建一个包含指定最高值点范围, 三点创建一个指定最高值-1的范围.

puts "#{(1..5).to_a}"
puts "#{(1...5).to_a}"

range1 = (1..10).to_a
range2 = ('bar'..'bat').to_a

puts "#{range1}"
puts "#{range2}"

range3 = 0..9

puts range3.include?(5)
ret = range3.min
puts "最小值为 #{ret}"

ret = range3.max
puts "最大值为 #{ret}"

ret = range3.reject {|i| i < 5}
puts "不符合条件的有 #{ret}"

range3.each do |i|
    puts "在循环中 #{i}"
end


# => 作为条件的范围
    # 
score = 70

result = case score
    when 0..40
        "糟糕的分数"
    when 41...60
        "快要及格"
    when 60...70
        "及格分数"
    when 70..100
        "良好分数"
    else
        "错误的分数"
    end

puts result


# => 作为间隔的范围
    # 间隔检测: 检查指定值是否在指定的范围内. 
    # !!! 需要使用 === 相等运算符来完成计算.
if ( (1..10) === 5 )
    puts "5 在 ( 1..10 )"
end

if ( ('a'..'j') === 'c' )
    puts "c 在 ('a'..'j')"
end

相关文章

网友评论

      本文标题:Ruby Range

      本文链接:https://www.haomeiwen.com/subject/sbprextx.html