小编Tom*_*Tom的帖子

是否可以使用范围作为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
Run Code Online (Sandbox Code Playgroud)

find_chapter(1)会吐出我想要的字符串,但find_chapter(15)不会返回任何内容.是不是可以像这样使用范围?

ruby hash range

21
推荐指数
4
解决办法
7175
查看次数

标签 统计

hash ×1

range ×1

ruby ×1