Próbuję utworzyć skrypt, aby przejść przez indeks, spojrzeć na każdego numeru strony, a powiedz mi, co rozdział książki, że wejście jest tutaj to przybliżenie tego, co robię.Czy jest możliwe użycie zakresu jako klucza do wartości mieszania w 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)
wypluje ciąg, który chcę, ale find_chapter(15)
niczego nie zwróci. Czy nie można użyć zakresu jako klucza takiego jak ten?
Można użyć czegoś z funkcjonującym [ 'hash'] (http://ruby-doc.org/core-2.0/Object. html # method-i-hash) jako klucza, a ponieważ jest to zdefiniowane w Object, prawie musisz zrobić wszystko, aby znaleźć obiekt, którego nie można użyć jako klucza. – tadman