Preface
如果使用 begin..end 或 begin...end,這會建立 Range 實例,代表指定的範圍,begin..end 表示包括 end,begin...end 表示不包括 end。例如:
範圍型態
可以使用 begin 方法得知範圍起點,使用 end 方法得知範圍指定終點,使用 exclude_end? 得知範圍是否排除終點。例如:
範圍不僅可以是整數,也可以是字元或浮點數,只不過浮點數的範圍無法進行迭代。例如:
可以使用 include? 方法得知範圍物件是否包括某個整數、浮點數或字元。例如:
也可以使用 cover? 測試物件是否在指定的 begin 與 end 之間。例如:
注意,在 (begin..end).cover? var 時,為測試是否 var>=begin且var<=end(如果是begin...end,則是var
建立 Range 時,end 小於 begin,通常為應用於字串與陣列的特例。例如:
可以使用 to_a 將範圍轉為陣列,不過浮點數範圍不適用,範圍的end小於begin時,會得到空陣列。例如:
Supplement
* Tutorialpoints - Ruby Ranges
* rubylearning.com - Ranges in Ruby
沒有留言:
張貼留言