国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗 > 正文

詳解Ruby中范圍的概念

2024-04-25 20:34:09
字體:
供稿:網(wǎng)友

范圍無處不在:1月至12月,0至9日,50至67行,依此類推。 Ruby支持范圍,并允許我們使用多種方式的范圍:

作為序列范圍

作為條件范圍

作為區(qū)間范圍

作為序列范圍:

首先,也許是最自然的使用范圍來表達序列。序列有一個起點,一個終點和序列中的連續(xù)值的方法來生產(chǎn)。

Ruby創(chuàng)建'' ..''和'' ...''范圍內(nèi)運算符使用這些序列。這兩個點的形式建立一個包容性的范圍,而三個點的形式創(chuàng)建了一個范圍,不包括指定的高值。

(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 separator

range1 = (1..10).to_a

range2 = ('bar'..'bat').to_a

puts "#{range1}"

puts "#{range2}"

這將產(chǎn)生以下結果:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10

bar, bas, bat

范圍實現(xiàn)方法,可在它們之間迭代并在各種不同的方式測試他們的內(nèi)容:

#!/usr/bin/ruby

# Assume a range

digits = 0..9

puts digits.include?(5)

ret = digits.min

puts "Min value is #{ret}"

ret = digits.max

puts "Max value is #{ret}"

ret = digits.reject {|i| i < 5 }

puts "Rejected values are #{ret}"

digits.each do |digit|

puts "In Loop #{digit}"

end

這將產(chǎn)生以下結果:

true

Min value is 0

Max value is 9

Rejected values are 5, 6, 7, 8, 9

In Loop 0

In Loop 1

In Loop 2

In Loop 3

In Loop 4

In Loop 5

In Loop 6

In Loop 7

In Loop 8

In Loop 9

作為條件的范圍:

范圍也可以使用作為條件表達式。例如,下面的代碼片段打印套行從標準輸入,每一組中的第一行包含單詞開始和結束的最后一行字:

while gets

print if /start/../end/

end

范圍可以使用 case 語句:

#!/usr/bin/ruby

score = 70

result = 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"

end

puts result

這將產(chǎn)生以下結果:

Pass with Merit

區(qū)間范圍:

最后一個使用的全能型的范圍是為間隔測試:是否有某個值落在該區(qū)間的時間間隔內(nèi),這是使用 === 情況下相等操作。

#!/usr/bin/ruby

if ((1..10) === 5)

puts "5 lies in (1..10)"

end

if (('a'..'j') === 'c')

puts "c lies in ('a'..'j')"

end

if (('a'..'j') === 'z')

puts "z lies in ('a'..'j')"

end

這將產(chǎn)生以下結果:

5 lies in (1..10)

c lies in ('a'..'j')

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 淳化县| 高邑县| 南和县| 天柱县| 台北市| 壶关县| 余干县| 邹城市| 吉安市| 樟树市| 信丰县| 广东省| 赤峰市| 白朗县| 喜德县| 陇南市| 密山市| 泾川县| 苍梧县| 安西县| 常德市| 斗六市| 平山县| 舒城县| 重庆市| 六枝特区| 白水县| 北海市| 沾化县| 土默特左旗| 印江| 民丰县| 丹东市| 聂荣县| 定陶县| 府谷县| 原平市| 西盟| 普宁市| 仁化县| 樟树市|