时间:2021-05-22
范围无处不在:1月至12月,0至9日,50至67行,依此类推。 Ruby支持范围,并允许我们使用多种方式的范围:
作为序列范围:
首先,也许是最自然的使用范围来表达序列。序列有一个起点,一个终点和序列中的连续值的方法来生产。
Ruby创建'' ..''和'' ...''范围内运算符使用这些序列。这两个点的形式建立一个包容性的范围,而三个点的形式创建了一个范围,不包括指定的高值。
(1..5) #==> 1, 2, 3, 4, 5(1...5) #==> 1, 2, 3, 4('a'..'d') #==> 'a', 'b', 'c', 'd'序列1..100作为一个Range对象包含两个Fixnum的对象的引用。如果需要,可以将一系列的列表使用to_a方法。试试下面的例子:
#!/usr/bin/ruby$, =", " # Array value separatorrange1 = (1..10).to_arange2 = ('bar'..'bat').to_aputs "#{range1}"puts "#{range2}"这将产生以下结果:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10bar, bas, bat范围实现方法,可在它们之间迭代并在各种不同的方式测试他们的内容:
#!/usr/bin/ruby# Assume a rangedigits = 0..9puts digits.include?(5)ret = digits.minputs "Min value is #{ret}"ret = digits.maxputs "Max value is #{ret}"ret = digits.reject {|i| i < 5 }puts "Rejected values are #{ret}"digits.each do |digit| puts "In Loop #{digit}"end这将产生以下结果:
trueMin value is 0Max value is 9Rejected values are 5, 6, 7, 8, 9In Loop 0In Loop 1In Loop 2In Loop 3In Loop 4In Loop 5In Loop 6In Loop 7In Loop 8In Loop 9作为条件的范围:
范围也可以使用作为条件表达式。例如,下面的代码片段打印套行从标准输入,每一组中的第一行包含单词开始和结束的最后一行字:
while gets print if /start/../end/end范围可以使用 case 语句:
#!/usr/bin/rubyscore = 70result = case score when 0..40: "Fail" when 41..60: "Pass" when 61..70: "Pass with Merit" when 71..100: "Pass with Distinction" else "Invalid Score"endputs result这将产生以下结果:
Pass with Merit区间范围:
最后一个使用的全能型的范围是为间隔测试:是否有某个值落在该区间的时间间隔内,这是使用 === 情况下相等操作。
#!/usr/bin/rubyif ((1..10) === 5) puts "5 lies in (1..10)"endif (('a'..'j') === 'c') puts "c lies in ('a'..'j')"endif (('a'..'j') === 'z') puts "z lies in ('a'..'j')"end这将产生以下结果:
5 lies in (1..10)c lies in ('a'..'j')声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面这段程序让我纠结了很久,Ruby中private的概念真的很奇怪。。。classTestprivatedeftest_printputs'test'ende
rubyftp封装实例详解最近自己用ruby封装了一个Net::FTP的工具类.classFtpTooldefinitialize()@current_ftp=
javascript作用于作用域链的详解一、JavaScript作用域任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制
java关键字static详解一、static代表着什么在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中
网站制作基本过程详解新手必看!基本概念