Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用(gets.chomp)输入字符串并生成直方图_Ruby - Fatal编程技术网

Ruby 使用(gets.chomp)输入字符串并生成直方图

Ruby 使用(gets.chomp)输入字符串并生成直方图,ruby,Ruby,我很难理解ruby。我希望有一个程序,在其中用户可以输入一组文本,它回来与星号。到目前为止,我可以通过一个.txt文件来完成。谁能解释一下我哪里出错了?我一直在为ruby苦苦挣扎 在当前运行Ruby程序的Atom脚本运行程序中,无法使用get读取标准输入。似乎可以扩展它,为脚本提供一个真正的终端,然后您也可以使用STDIN 或者,您也可以从真正的控制台运行程序。为此,您可以从命令行窗口运行它,例如,使用ruby name\u of_program.rb而不是从Atom启动它。必须单独调用get

我很难理解ruby。我希望有一个程序,在其中用户可以输入一组文本,它回来与星号。到目前为止,我可以通过一个.txt文件来完成。谁能解释一下我哪里出错了?我一直在为ruby苦苦挣扎


在当前运行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