我正在构建一个应用程序,它接受stdin来保存用户及其首选项。我应该将stdin写入文本文件并将用户输入保存在那里吗?
commandline.rb
class CommandLine
def initialize(filename)
@file = File.open(filename, 'w')
end
def add_user(input)
@file = File.open('new_accounts.txt', 'r+')
@file.write(input)
puts input
end
def run
puts "Welcome to the Command Line Client!"
command = ''
while command != 'quit'
printf "enter command: "
input = gets.chomp
parts = input.split
command = parts[0]
case command
when 'quit' then puts 'Goodbye!'
when '-a' then add_user(parts[1..-1].join(" "))
else
puts 'Invalid command #{command}, please try again.'
end
end
end
end
a = CommandLine.new('new_accounts.txt')
a.run
让我们说我希望用户输入' -s tommy likes apples '在命令行中,我希望它输出:
tommy likes apples
同一个用户tommy也可以输入' -s tommy like oranges '然后会更新他之前的偏好:
tommy likes oranges
感谢任何帮助/指示,谢谢!
答案 0 :(得分:0)
如果你做的很简单,我没有看到使用文本文件的问题。替代品很多,没有更多细节,我担心我不能做出好的推荐。
def add_user(input)
File.open('new_accounts.txt', 'w') {|file|
file.write(input)
}
puts input
end
仅供参考:这将使您的文本文件更新。 : - )
编辑:更改了add_user方法。