Ruby 使用(gets.chomp)输入字符串并生成直方图
我很难理解ruby。我希望有一个程序,在其中用户可以输入一组文本,它回来与星号。到目前为止,我可以通过一个.txt文件来完成。谁能解释一下我哪里出错了?我一直在为ruby苦苦挣扎Ruby 使用(gets.chomp)输入字符串并生成直方图,ruby,Ruby,我很难理解ruby。我希望有一个程序,在其中用户可以输入一组文本,它回来与星号。到目前为止,我可以通过一个.txt文件来完成。谁能解释一下我哪里出错了?我一直在为ruby苦苦挣扎 在当前运行Ruby程序的Atom脚本运行程序中,无法使用get读取标准输入。似乎可以扩展它,为脚本提供一个真正的终端,然后您也可以使用STDIN 或者,您也可以从真正的控制台运行程序。为此,您可以从命令行窗口运行它,例如,使用ruby name\u of_program.rb而不是从Atom启动它。必须单独调用get
在当前运行Ruby程序的Atom脚本运行程序中,无法使用
get
读取标准输入。似乎可以扩展它,为脚本提供一个真正的终端,然后您也可以使用STDIN
或者,您也可以从真正的控制台运行程序。为此,您可以从命令行窗口运行它,例如,使用
ruby name\u of_program.rb
而不是从Atom启动它。必须单独调用get
方法。在你的第二行试试:
user_input = gets.chomp
没有字符串
我希望它对你有用。:) 您的代码正在按预期工作。您在文本编辑器中而不是通过控制台运行代码时出错了。
Kernal#get
方法需要用户输入,为了在文本编辑器中运行,需要模拟用户输入。由于编辑器返回的是nil
而不是字符串格式的用户输入,因此chomp
方法会提高NoMethodError
从本质上讲,您的代码是好的,但您正试图在有限的环境中运行它。作为初学者,如果您的代码需要用户输入,那么使用
ruby
在控制台/终端上运行ruby文件可以更容易地测试代码。我建议您阅读本文。您当前的代码有什么问题?我收到了nil:NilClass(NoMethodError)`发现的问题与文件路径有关的错误n定义方法
chomp'
Undefined method `chomp' for nil:NilClass (NoMethodError)
user_input = gets.chomp