2013-04-15 3 views
0

이전에 질문을 받으면 사과드립니다. 스택 오버플로를 통해 보았습니다 및 일부 잠재적 인 솔루션을 시도했지만 아무 소용.해결 : RubyFiddle 문제 - NameError : 정의되지 않은 지역 변수 또는 메서드가 '012'에 대해 사용됩니다.

class SqrrtProg 

    def hello 

    puts "Hello! Welcome to the square root program." 
    puts "\n Please enter a number: " 
    number = gets 
    puts number 

    end 

    def Sqrrt 

    end 

end 

object = SqrrtProg.new 
object.hello 

나는 'gets'를 사용하여 사용자 입력을 얻으려고합니다. 나는 기본적으로 gets가 파일에서 정보를 읽으려고 시도했기 때문에 그럴 것이라고 읽었습니다. 나는 name = $ stdin.gets과 name = & stdin.gets.chomp 등을 시도했다. 그러나 나는 같은 오류로 끝난다.

저는 Ruby를 처음 접했습니다. 사전에 도움을 주셔서 감사합니다.

+0

코드가 잘 작동합니다. 어떻게 실행하나요? 편집자 또는 터미널에서? – fmendez

+0

편집자가 문제가 될 수 있다는 느낌이 들었습니다. 나는 내 질문에 그것을 언급하는 것을 잊었다. 나는 RubyFiddle을 사용하고있다 - http://rubyfiddle.com/ 편집 : 나는 콘솔에서 그것을 시도하고 그것은 나를 위해 일했다. 그것은 내가 사용하고 있던 환경의 한계가되어야합니다. – Mark

+0

Rubyfiddle에 문제가 [많이] 있습니다. (http://rubyfiddle.com/riddles/1a1e5/5) – Shoe

답변

2

나는 그것이 풀린대로 내 자신의 질문에 대답 할 것입니다. 터미널에서 실행할 때 코드가 정상입니다. 이 문제는 분명히 RubyFiddle의 한계에 기인합니다. 바라건대이 질문은 RubyFiddle 환경에서 동일한 문제를 겪는 사람을 도울 수 있습니다 :)

+0

당신이 당신의 자신의 대답을 수락하면 그것은 대답하지 않은 질문으로 나타나지 않을 것입니다! – Vikko

+1

나는 내일까지 그것을 받아 들일 수 없다는 것을 알고있다 :) – Mark