修复Ruby“NameError:undefined local variable”错误

在Ruby中,您不需要声明变量,但您必须在引用变量之前为它们分配一些内冷健康知识容。

如果您'重新引用尚未存在的本地变量,则可能会看到两个错误之一。

红宝石名称错误消息

 Name错误:未定义的局部变量或方法'a'for#

 Name错误:未定义的局部变量或方法'a'用于主要:对象

注意:可能有各种标识符代替上面的&##39;a'

这是一个例子,代码将生成Ruby"NameError"消息,因为变量ahave'尚未分配给任何内容:

放置

如何修复错误

变量必须在使用之前分配。因此,使用上面的示例,修复错误就像这样做一样简单:

a=10把一个

为什么你'重新得到这个错误

显而易见的答案是你'重新指的是一个尚未创建的变量。这通常是由于拼写错误,但可能在重构代码和重命名变量时发生。

如果要输入字符串,您也可能会看到"Name错误:未定义的本地变量"Ruby错误。字符串存在于引号之间时,可以理解它们。如果您没有't使用引号,Ruby会认为您打算引用一个方法或变量(不存在't存在)并引发错误。

所以,看看你的代码,看看这个变量应该指什么,并修复它。您也可能想在同一方法中搜索相同变量名称的其他实例-如果它在一个地方错误,则在其他地方可能错误。