我試圖創建一個腳本要經過一個索引,看看每個頁碼,然後告訴我是什麼書,條目是在章下面是我在做什麼的近似值:是否可以使用範圍作爲Ruby中的哈希鍵?
@chapters = {
1 => "introduction.xhtml",
2..5 => "chapter1.xhtml",
6..10 => "chapter2.xhtml",
11..18 => "chapter3.xhtml",
19..30 => "chapter4.xhtml" }
def find_chapter(number)
@chapters.each do |page_range, chapter_name|
if number === page_range
puts "<a href=\"" + chapter_name + "\page" + number.to_s + "\">" + number.to_s + </a>"
end
end
end
find_chapter(1)
會吐出我想要的字符串,但find_chapter(15)
不會返回任何東西。是否可以使用範圍作爲這樣的關鍵?
你可以使用任何能正常['hash'(http://ruby-doc.org/core-2.0/Object。 html#method-i-hash)方法作爲關鍵字,並且由於這是在Object中定義的,所以您幾乎不得不自己找到不能用作關鍵字的對象。 – tadman