美文网首页
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