Ruby语言基础学习九:Ruby范围、迭代器、

来源:互联网 发布:迪杰斯特拉算法讲解 编辑:程序博客网 时间:2024/05/24 15:40
#范围,本文参考  http://www.runoob.com/ruby/ruby-range.html# 作为序列的范围# Ruby 使用 ''..'' 和 ''...'' 范围运算符创建这些序列。两点形式创建一个包含指定的最高值的范围,三点形式创建一个不包含指定的最高值的范围。$, =", "   # Array 值分隔符range1=(1..10).to_a  #转换成数组range2=('a'..'d').to_arange3=('bar'..'bat').to_aputs "#{range1}"puts "#{range2}"puts "#{range3}"# 指定范围digits=0..9puts digits.include?(5) #看看有没有包括5ret=digits.min puts "最小值为 #{ret}"ret = digits.maxputs "最大值为 #{ret}"ret=digits.reject {|i| i<5} #排除一些东西puts "符合条件的有 #{ret}"digits.each do |digit|puts "在循环中 #{digit}"end# 作为条件的范围score = 70result = case scorewhen 0..40"糟糕的分数"when 41..60"快要及格"when 61..70"及格分数"when 71..100   "良好分数"else"错误的分数"endputs result# 作为间隔的范围# 范围的最后一个用途是间隔检测:检查指定值是否在指定的范围内。需要使用 === 相等运算符来完成计算。if((1..10)===5) #看后面是不是在前面的范围内puts "5 in (1..10)"endif(("a".."j")==='c')puts "c in ('a'..'j')"endif (('a'..'j') === 'z')  puts "z 在 ('a'..'j')"end# Ruby迭代器在 http://www.runoob.com/ruby/ruby-iterators.html# 迭代(iterate)指的是重复做相同的事,所以迭代器(iterator)就是用来重复多次相同的事。# 迭代器是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中,数组(Array)和哈希(Hash)可以称之为集合。# each 迭代器返回数组或哈希的所有元素。ary=[1,23,4,5]ary.each do |i|puts iend# Ruby collect 迭代器,collect 迭代器返回集合的所有元素。# collect 方法不需要总是与一个块关联。collect 方法返回整个集合,不管它是数组或者是哈希。a=[1,2,3,4,5]b=Array.newb=a.collect{|x| x} #collect全选 ,后面大括号中是对数据进行处理变形puts bb=a.collect{|x| 10*x}puts b

0 0