修復(fù)Ruby“NameError:undefined local variable”錯(cuò)誤
來(lái)源:教育資源網(wǎng)
?
發(fā)布時(shí)間:2020-11-28 08:00:17
?
點(diǎn)擊:1864
在Ruby中,您不需要聲明變量,但您必須在引用變量之前為它們分配一些內(nèi)冷健康知識(shí)容。
如果您'重新引用尚未存在的本地變量,則可能會(huì)看到兩個(gè)錯(cuò)誤之一。
紅寶石名稱錯(cuò)誤消息
Name錯(cuò)誤:未定義的局部變量或方法'a'for#
Name錯(cuò)誤:未定義的局部變量或方法'a'用于主要:對(duì)象
注意:可能有各種標(biāo)識(shí)符代替上面的#39;a'。
這是一個(gè)例子,代碼將生成Ruby"NameError"消息,因?yàn)樽兞?strong>ahave'尚未分配給任何內(nèi)容:
放置
如何修復(fù)錯(cuò)誤
變量必須在使用之前分配。因此,使用上面的示例,修復(fù)錯(cuò)誤就像這樣做一樣簡(jiǎn)單:
a=10把一個(gè)
為什么你'重新得到這個(gè)錯(cuò)誤
顯而易見(jiàn)的答案是你'重新指的是一個(gè)尚未創(chuàng)建的變量。這通常是由于拼寫錯(cuò)誤,但可能在重構(gòu)代碼和重命名變量時(shí)發(fā)生。
如果要輸入字符串,您也可能會(huì)看到"Name錯(cuò)誤:未定義的本地變量"Ruby錯(cuò)誤。字符串存在于引號(hào)之間時(shí),可以理解它們。如果您沒(méi)有't使用引號(hào),Ruby會(huì)認(rèn)為您打算引用一個(gè)方法或變量(不存在't存在)并引發(fā)錯(cuò)誤。
所以,看看你的代碼,看看這個(gè)變量應(yīng)該指什么,并修復(fù)它。您也可能想在同一方法中搜索相同變量名稱的其他實(shí)例-如果它在一個(gè)地方錯(cuò)誤,則在其他地方可能錯(cuò)誤。