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

#范围,本文参考  http://www.runoob.com/ruby/ruby-range.html

# 作为序列的范围
# Ruby 使用 ''..'' 和 ''...'' 范围运算符创建这些序列。两点形式创建一个包含指定的最高值的范围,三点形式创建一个不包含指定的最高值的范围。
$, =", "   # Array 值分隔符
range1=(1..10).to_a  #转换成数组
range2=('a'..'d').to_a
range3=('bar'..'bat').to_a

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


# 指定范围
digits=0..9
puts digits.include?(5) #看看有没有包括5
ret=digits.min 
puts "最小值为 #{ret}"
ret = digits.max
puts "最大值为 #{ret}"

ret=digits.reject {|i| i<5} #排除一些东西
puts "符合条件的有 #{ret}"

digits.each do |digit|
	puts "在循环中 #{digit}"
end

# 作为条件的范围
score = 70
result = case score
when 0..40
	"糟糕的分数"
when 41..60
	"快要及格"
when 61..70
	"及格分数"
when 71..100
   	"良好分数"
else
	"错误的分数"
end

puts result

# 作为间隔的范围
# 范围的最后一个用途是间隔检测:检查指定值是否在指定的范围内。需要使用 === 相等运算符来完成计算。
if((1..10)===5) #看后面是不是在前面的范围内
	puts "5 in (1..10)"
end

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

if (('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 i
end

# Ruby collect 迭代器,collect 迭代器返回集合的所有元素。
# collect 方法不需要总是与一个块关联。collect 方法返回整个集合,不管它是数组或者是哈希。
a=[1,2,3,4,5]
b=Array.new
b=a.collect{|x| x} #collect全选 ,后面大括号中是对数据进行处理变形
puts b

b=a.collect{|x| 10*x}
puts b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值