0

助けてください、私は初心者です。このコードについてアドバイスが必要です。私は自分のプログラムのほとんどをこの部分で動作させましたが、名前とパスワードを取得したいと思っています。次に、名前をキーに、パスワードを値にします。これで、ユーザー定義にする必要があります..次に、そのハッシュ情報を再度プルできる必要があります。私はリターンがうまくいくと思った...これが私のコードです

  def login_prompt
  vault = {}
     puts "WELCOME! please enter an existing username: "
     username = gets.chomp
     checkname = Noxread.new
     comparename = checkname.read_file
     comparename.keys.include?("#{username}") 
     if comparename == true
       puts "please enter your password: "
       password = gets.chomp
       vault[username]= password
       else puts "username already exists!! would you like to retry? (y/n)"
       case answer
     when /^y/
         login_prompt
     when /^n/
     exit
       end
     end
 end

情報を収集する必要があります。これは、ファイルから取得したハッシュとマージするコードです。NoxRead クラスで

require_relative 'read' require 'csv'

 class Noxwrite
  attr_accessor :name :password  

  def initialize  
    @name = name 
    @password = password
  end

  def upsum

    x = Noxread.new
    y = x.read_file
    z = login_prompt
    y.merge(z) {|name, password| name + ',' + password}
    return y

   end

    def write_file

    ehash = upsum
    CSV.open("data.csv", "wb") do |csv|
    csv << ehash
    end

  end

end
4

1 に答える 1

0

このコードの問題は何ですか。オープンテキストでパスワードをこのように読むべきではないという事実を除けば、問題ないようです。

みたいなことを書くと

user_hash = login_prompt

user_hash は必要に応じてハッシュを持ちます

{"username"=>"password"}

于 2011-11-18T10:31:39.737 に答える