我正在从“编程Ruby,实用程序员(2005年第2期)”学习Ruby,我陷入了Case声明章节。 所以我从我的版本中复制粘贴一些代码:
dd($request)
因此,无论我放的是哪一年,输出都是“爵士乐”......我的工作不正确?
答案 0 :(得分:4)
gets.chomp
返回一个字符串,您将其与整数进行比较。
分配后,您可以检查ask
:
ask = gets.chomp
p ask
当您运行脚本并输入一个数字(例如1940)时,您应该会在终端中看到"1940"
。数字周围的引号显示变量包含字符串,而不是数字。 (仅供参考,此处不使用puts
,因为它不会显示引号。)
正如mudasobwa在评论中写道,解决这个问题的方法是在比较之前将输入转换为数字:
ask = gets.chomp.to_i
如果再次添加p ask
,您现在应该看到只有号码打印到终端,而没有任何"
围绕它。这表明变量包含一个整数。