2013-04-15 2 views
0

Прошу прощения, если это было задано раньше. Я просмотрел Stack Overflow, и я попробовал некоторые потенциальные решения, но безрезультатно.SOLVED: RubyFiddle issue - NameError: неопределенная локальная переменная или метод 'gets' for #

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 

Я просто пытаюсь использовать «получает», чтобы получить пользовательский ввод. Я читал, что это может быть потому, что по умолчанию пытается читать информацию из файла. Я попробовал имя = $ stdin.gets и name = & stdin.gets.chomp и т. Д. Однако, я получаю ту же ошибку.

Я довольно новичок в Ruby. Заранее благодарны за Вашу помощь.

+0

Код работает отлично для меня, как вы его запускаете? Из редакции или из терминала? – fmendez

+0

У меня было ощущение, что редактор может быть проблемой. Я забыл упомянуть об этом в моем вопросе. Я использую RubyFiddle - http://rubyfiddle.com/ EDIT: я просто попробовал его в консоли, и это сработало для меня тоже. Это должно быть ограничение среды, которую я использовал. – Mark

+0

Rubyfiddle имеет [много] (http://rubyfiddle.com/riddles/1a1e5/5) проблем. – Shoe

ответ

2

Я собираюсь ответить на свой вопрос, поскольку он был решен. Код отлично работает при запуске с терминала. Эта проблема, по-видимому, связана с ограничением RubyFiddle. Надеюсь, этот вопрос может помочь кому-то, кто сталкивается с той же проблемой с окружением RubyFiddle :)

+0

Если вы принимаете свой собственный ответ, он не будет отображаться как неотвеченный вопрос! – Vikko

+1

Я знаю, это не позволит мне принять его до завтра :) – Mark

 Смежные вопросы

  • Нет связанных вопросов^_^