Ruby 什么是“一个”呢;意外标识符“;?

Ruby 什么是“一个”呢;意外标识符“;?,ruby,Ruby,我有时会遇到语法错误,比如Ruby会引发一个关于“意外标识符”的错误。修复代码的语法似乎可以解决这个问题,但让我困惑的是,到底是什么导致了这个错误 我的希望是,如果我知道tIDENTIFIER实际上是什么,我可以在语法中查找它并直接删除它。tIDENTIFIER是一个标识符标记。标识符是一段文本,如变量或函数名。在Ruby中,标识符必须以字母或下划线开头,然后可以有更多的字母、下划线或数字 例如:“main”、“put”、“String”和“x2”都是标识符。“!!”、“12412”、“返回”和

我有时会遇到语法错误,比如Ruby会引发一个关于“意外标识符”的错误。修复代码的语法似乎可以解决这个问题,但让我困惑的是,到底是什么导致了这个错误


我的希望是,如果我知道tIDENTIFIER实际上是什么,我可以在语法中查找它并直接删除它。

tIDENTIFIER是一个标识符标记。标识符是一段文本,如变量或函数名。在Ruby中,标识符必须以字母或下划线开头,然后可以有更多的字母、下划线或数字

例如:“main”、“put”、“String”和“x2”都是标识符。“!!”、“12412”、“返回”和“返回”不适用


换言之,将错误消息放在Ruby发现变量、类或方法名称的地方,而该位置不是它所期望的。您可能不想删除它:很可能您只是忘记了一些东西,比如您链接的示例中的逗号。

在不期望的位置找到了标记标识符。可能是因为行尾不是bei可能您不想删除标记,只需修复语法即可,您可以声明您已经在执行此操作

有关这些方面的详细信息,请参见文件

具体表现为:

%token <id>   tIDENTIFIER tFID tGVAR tIVAR tCONSTANT tCVAR tLABEL
%token <node> tINTEGER tFLOAT tRATIONAL tIMAGINARY tSTRING_CONTENT tCHAR
%token <node> tNTH_REF tBACK_REF
%token <num>  tREGEXP_END
%token tIDENTIFIER tFID tGVAR tIVAR tCONSTANT tCVAR tLABEL
%token tINTEGER t传统Timaginal tSTRING_含量tCHAR
%标记tNTH\u REF tBACK\u REF
%令牌树

也许这篇文章可以澄清一点:在不需要标记的地方找到了标记标识符。可能是因为行尾不在那里,或者缺少某种分隔符,可能是逗号。大概,您不想删除标记,只需修复语法即可,您已经在这样做了。感谢您的清晰明了se回答!我会立即接受这个答案,但我担心这样做可能会在StackOverflow中表现不佳(因为这可能会使其他人对自己的答案感到沮丧)。我会等几天再选择最佳答案。