Ruby 许多重复的语法错误没有可见的错误 put(“本课程旨在告诉你你的字母分数,以及你是否通过了考试”) puts(“失败”) 放 打印(“你正在测试的课程的分数是多少?:”) 等级=整数(gets) 放 打印(“类的名称是什么?:”) class=get class=class.chomp 放 如果等级>=90 放 放置(“你通过了!”) 放 puts(“您的“+class+”字母等级为A!”) elsif等级>=80 放 puts(“您通过”) 放 puts(“您的“+class+”字母等级为B”) elsif等级>=70 放 puts(“您通过”) 放 puts(“您的“+class+”字母等级为C”) elsif等级>=60 放 放置(“您失败了…”) 放 puts(“您的“+class+”字母分数为D”) elsif等级
这是为了获取用户的输入,告诉用户他们通过还是失败,以及他们的字母等级Ruby 许多重复的语法错误没有可见的错误 put(“本课程旨在告诉你你的字母分数,以及你是否通过了考试”) puts(“失败”) 放 打印(“你正在测试的课程的分数是多少?:”) 等级=整数(gets) 放 打印(“类的名称是什么?:”) class=get class=class.chomp 放 如果等级>=90 放 放置(“你通过了!”) 放 puts(“您的“+class+”字母等级为A!”) elsif等级>=80 放 puts(“您通过”) 放 puts(“您的“+class+”字母等级为B”) elsif等级>=70 放 puts(“您通过”) 放 puts(“您的“+class+”字母等级为C”) elsif等级>=60 放 放置(“您失败了…”) 放 puts(“您的“+class+”字母分数为D”) elsif等级,ruby,Ruby,这是为了获取用户的输入,告诉用户他们通过还是失败,以及他们的字母等级 错误主要是“语法错误,意外的一元数+”、“=”或“)”首先,将类变量的名称更改为稍微不同的名称,如类名,以防止以后发生奇怪的事情,因为您想将其用于更多的事情 一元表达式只能使用“一元错误”很可能是由于您将字符串参数赋给puts函数的方式,使用+符号分隔操作数,尝试将字符串保存在变量中,然后将其作为参数传递给puts 例如: grade\u a\u announcement=“您的“+class+”字母成绩为a!” put(评级
错误主要是“语法错误,意外的一元数+”、“=”或“)”首先,将
类
变量的名称更改为稍微不同的名称,如类名
,以防止以后发生奇怪的事情,因为您想将其用于更多的事情
一元表达式只能使用“一元错误”很可能是由于您将字符串参数赋给puts
函数的方式,使用+
符号分隔操作数,尝试将字符串保存在变量中,然后将其作为参数传递给puts
例如:
grade\u a\u announcement=“您的“+class+”字母成绩为a!”
put(评级公告)
此外,对于一个需要多次检查变量的程序,建议使用case
,而不是所有那些if所看到的,“一元运算符”错误,正如@Dimovict所说,是由于编写put
调用的方式造成的。不过,要获得想要的效果,更惯用的方法是使用字符串插值:
puts("This program is intended to tell you your letter grade, and if you passed or")
puts("failed.")
puts
print("What was your grade for the class you are testing for?: ")
grade = Integer(gets)
puts
print("What was the name of the class?: ")
class = gets
class = class.chomp
puts
if grade >= 90
puts
puts("You passed!")
puts
puts("Your letter grade for " + class + " is an A!")
elsif grade >= 80
puts
puts("You Passed")
puts
puts("Your letter grade for " + class + " is a B.")
elsif grade >= 70
puts
puts("You Passed")
puts
puts("Your letter grade for " + class + " is a C.")
elsif grade >= 60
puts
puts("You Failed...")
puts
puts("Your letter grade for " + class + " is a D.")
elsif grade < 60
puts
puts("You Failed...")
puts
puts("Your letter grade for " + class + " is a F...")
else
puts
puts("It is not possible to get a negative grade. Please try again.")
end
这将在字符串中插入{class}
的位置,并且应该删除您得到的错误(除非您没有显示更多的代码)。您能粘贴到实际的错误消息中吗?类
是一个变量名,因此不是一个好的变量名。澄清@Blorgbeard的注释,并不是说class
不是一个好的变量名,而是它是一个保留字,所以是一个无效的变量名<代码>类
标记具有特定语法的类定义的开头;尝试将其用作变量名是一个语法错误。当您询问错误消息的含义时,您应该真正粘贴到实际的错误消息中。确切的消息、堆栈跟踪、行号等将对那些试图帮助您的人有所帮助。不幸的是,我使用的是ruby命令提示符,因此我无法复制和粘贴任何错误。不过,我还是找到了解决办法。谢谢你的帮助。
puts("Your letter grade for #{class} is an A!")