【发布时间】:2018-06-11 12:05:54
【问题描述】:
我正在从“Programming Ruby, The Pragmatic Programmers(2nd, 2005)”中学习 Ruby,但我被困在 Case 语句一章。 所以我从书中复制粘贴一些代码到我的版本中:
def kind
puts "Type year and I'll tell you genre: "
ask = gets.chomp
kind = case ask
when 1850..1889 then "Blues"
when 1890..1909 then "Ragtime"
when 1910..1929 then "New Orleans Jazz"
when 1930..1939 then "Swing"
when 1940..1950 then "Bebop"
else "Jazz"
end
puts "You typed year #{ask}. Genre of music in that period is
#{kind}."
end
kind
因此,无论我放在哪一年,输出都是“爵士乐”......我工作不正确是什么?
【问题讨论】:
-
ask = gets.chomp.to_i或case ask.to_i. -
这就是为什么我评论它并没有回答它。我不经常使用案例陈述。之后我在 IRB 中尝试过并删除了我的评论。
-
@Martin np,我已经提供了正确答案。
标签: ruby if-statement case