Ruby,将用户输入写入文件

时间:2015-11-17 04:42:44

标签: ruby input

我有以下代码,它挂起来将用户输入写入文件。我的错误是什么?

file=File.open("Debsfile.txt", "r+") do |file|
  file.puts "This is Deb's file. It's a great file. It has many characters, words and lines."
  file.puts "This is another line of text in Deb's file."
end
  puts "What is your favorite color?"
  color = gets
  color = color.chomp
  color.write
file.close

File.open("Debsfile.txt").readlines.each do |line|
  puts line
end

2 个答案:

答案 0 :(得分:1)

如果我以您的方式运行该程序,则错误消息为: 未定义的方法`write' for" red":String(NoMethodError) 问题是你在颜色上调用write方法,这是一个字符串对象。您实际上想要将输入颜色写入文件,因此,您需要在File(或IO对象)上调用write方法:file.write颜色如下所示: File.open(" Debsfile.txt"," r +")do | file |   file.puts"这是Deb的文件。这是一个很棒的文件。它有很多字符,单词和行。"   file.puts"这是Deb的文件中的另一行文字。"   put"你最喜欢的颜色是什么?"   color =得到   color = color.chomp   file.write color#在这里将颜色写入文件 结束 File.open(" Debsfile.txt")。readlines.each do | line |   放线 结束 有关如何在Ruby中写入文件的详细信息,请参阅此文章。

答案 1 :(得分:0)

file=File.open("Debsfile.txt", "a+") do |file|

在文件

中添加两行文本
file.puts "This is Deb's file. It's a great file. It has many characters, words and lines."
file.puts "This is another line of text in Deb's file."
#asks user for favorite color in console
puts "What is your favorite color?"
#assigns color to variable "color"
color = gets
#color.chomp cuts of the new line character so that you just have the user input
color = color.chomp
#adds the color to the end of the file
file.puts("Your favorite color is #{color}.") #writing the color to the file

结束#end文件打开

File.open(" Debsfile.txt")。readlines.each do | line |   放线 端

相关问题