0

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

ユーザーにコマンドラインに「 -tommylikesapples 」と入力してもらい、次のように出力したいとします。

tommy likes apples

同じユーザーのtommyは、「-a tommy like oranges」と入力して、以前の設定を更新することもできます。

tommy likes oranges

どんな助け/指示もありがたいです、ありがとう!

4

1 に答える 1

0

簡単なことをしているのであれば、テキストファイルを使用しても問題はありません。選択肢はたくさんあり、詳細がなければ、私は良い推薦をすることができないのではないかと思います。

def add_user(input)
  File.open('new_accounts.txt', 'w') {|file| 
      file.write(input) 
  }
  puts input
end

参考:これにより、テキストファイルが更新されます。:-)

編集:add_userメソッドを変更しました。

于 2013-02-26T02:29:14.973 に答える