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!")