多条件循环报错排查:Ruby代码运行异常求助及练习平台推荐
Ruby代码错误排查与编程练习平台推荐
一、你的代码错误分析
先贴出你写的原代码:
puts "Welcome to the Loop Practice Problems" puts " Write a number between 1 and 10, but not 5 or else...." ans = gets.chomp! if ans < 1 puts "Tf bruh bruh" elsif ans > 10 puts "Now you just playin" elsif x == 5 print "You wildin B" else puts "Fosho that's all I require" end
这里有两个核心问题导致代码无法正常运行:
- 类型不匹配错误:
gets.chomp!获取的用户输入是字符串类型,你直接拿它和整数(1、10)做大小比较,Ruby会直接抛出类型错误。必须把输入转换成整数,改成ans = gets.chomp.to_i(用chomp而非chomp!更安全,避免输入为空时返回nil导致后续报错)。 - 变量名拼写错误:第三个判断条件里用了
x == 5,但你定义的变量是ans,应该改成ans == 5,不然Ruby会找不到x这个变量,直接抛出未定义变量的错误。
修正后的代码示例:
puts "Welcome to the Loop Practice Problems" puts " Write a number between 1 and 10, but not 5 or else...." ans = gets.chomp.to_i # 转换为整数,同时用非bang方法避免nil问题 if ans < 1 puts "Tf bruh bruh" elsif ans > 10 puts "Now you just playin" elsif ans == 5 print "You wildin B" else puts "Fosho that's all I require" end
二、优质编程练习平台推荐(除Coderbyte外)
既然你已经了解Coderbyte,我再推荐几个适合不同需求的平台:
- Codewars:题目按难度分“kyu”等级,从入门到进阶全覆盖,做完题目后能查看社区其他用户的解法,很适合学习Ruby的多样编程技巧和最佳实践。
- LeetCode:主打算法与数据结构题目,很多大厂面试题都出自这里,如果你有求职规划,刷这里的题能帮你针对性提升面试能力。
- Exercism:针对不同编程语言设计专项练习,每个题目都有社区导师的反馈,能帮你纠正代码里的不良习惯,注重代码质量和规范。
- HackerRank:分算法、数据结构、人工智能等多个领域,还有竞赛模式,能锻炼你的实战解题速度和问题处理能力。
内容的提问来源于stack exchange,提问作者Wilke Jones
相关产品推荐
相关产品推荐

