2017-05-24 181 views
-2

此代碼:未定義的局部變量或方法(NameError)

def convert(temp) 
    new_temp = (temp - 32) * 5/9 
    return new_temp 
end 

fahrenheit_temp = gets.to_i 
celsius_temp = convert(fahrenheit_temp) 
puts celsius_temp 

提出:

C:/Users/Asd/Documents/Aptana Studio 3 Workspace/test/test.rb:3:in `convert': undefined local variable or method `new_temp' for main:Object (NameError) 
from C:/Users/Asd/Documents/Aptana Studio 3 Workspace/test/test.rb:7:in `<main> 

有什麼幫助嗎?我不明白爲什麼return方法會導致此問題。

+2

我不能重複的問題。請閱讀「[mcve]」。將snake_case用於方法和變量名稱,notCamelCaseBecauseItIsHarderToRead。 Ruby會返回最後一個值,因此'return'是多餘的。結果可以將該方法簡化爲「(temp-32)* 5/9」。 –

+0

編輯的問題。感謝您的建議 –

+0

如果你運行這個具體的片段,它會工作。 – yzalavin

回答

0

它的工作對我罰款。我用這個命令行:

ruby test.rb 

你可以再試一次嗎?

+0

我在「visual studio代碼」上編寫代碼。我保存.rb文件,然後將其拖放到「使用ruby啓動cmd」。當我在aptana studio 3上試用這個代碼時,它給了我同樣的錯誤 –

相關問題