我正在尝试学习ruby,并且负责创建一个抓取用户输入的简单程序,然后使用elsif语句提供可能的3个不同答案。这是我的代码:
const zeroPads = Array.from({ length: 10 }, (_, v) => '0'.repeat(v))
function zeroPad(num, len) {
const numStr = String(num)
return (zeroPads[len - numStr.length] + numStr)
}
然而,我一直得到"字符串无法强制进入Fixnum"
我不会在课堂上回忆起我正在为“" age"变量,所以我可能做错了,但我也无法在课程或在线找到答案。任何帮助将不胜感激!
答案 0 :(得分:1)
请记住gets
返回一个字符串值,在Ruby中,字符串和数值是完全不同的东西。其他一些语言会根据需要强制使用它们,如PHP,Perl或JavaScript,但Ruby不会。
要做到这一点:
year = gets.chomp.to_i
虽然技术上to_i
单独就足够了。