
rubyのプログラミングでアカウントに関するプログラムでアカウントがある場合は成功しました、パスワード違う場合はもう一度入力してください、アカウントがない場合はアカウントがありませんと表示をさせようと思っています。ちなみに、アカウントデータはテキストファイルの中に、名前、パスワードの順番に入っています。 そこで何ですが、def verifyAccount(account, password)という関数の中身をどう定義したら良いのでしょうか? あと、result = verifyAccount(account, password)以降に何を書いたら良いか教えてもらえたら嬉しいです。 聞きたいことが多くて申し訳ないですが是非ともよろしくお願いします!
def verifyAccount(account, password)
end
print "*** ログインしてください。自分のアカウント名とパスワードを入力してください。 ***\n"
print "アカウント:"
account = gets.chop
print "パスワード:"
password = gets.chop
result = verifyAccount(account, password)
...
No.4ベストアンサー
- 回答日時:
No.2です
> アカウントがある場合は成功しました
「成功しました」というのは表示するメッセージだったのですね。
プログラムを作って上手く動作したのだと勘違いしました、失礼しました。
> verifyAccount(account, password)という関数
学校の課題ということなのではっきりとは書きませんが
・前の住所の場合と同じ様にHashにファイルデータを読み込ませる
hash[アカウント] = パスワード
・account有無の確認は、hashのkeyにaccountが存在するか調べる。
・passwordの確認は、hash[account]とpasswordが一致するか調べる。
以上でできると思います。
Hashのマニュアル
http://doc.ruby-lang.org/ja/1.8.7/class/Hash.html
No.3
- 回答日時:
余計なお世話かもしれませんが、
アカウントが存在しない場合と、パスワードが違う場合でメッセージを分けると、
アカウントの存在が発覚するので、セキュリティ的にはよろしくありません。
どちらも「アカウント名またはパスワードが違います」といったメッセージにするのがおすすめです。
No.2
- 回答日時:
> アカウントがある場合は成功しました
どの様なプログラムで成功したのか書かれていないと、再入力の処理をどの様に追加して良いかも答えにくいと思います。
> verifyAccount(account, password)という関数
例えば、アカウントもパスワードも一致する場合は、resultに 0 を返す。
アカウントが無い場合は 1 を返す。
アカウントが有るがパスワードが一致しない場合は 2 を返す
というように作れば良いのではないでしょうか。
> result = verifyAccount(account, password)以降
上の例で考えるとresultが 0 になるまで再入力を行う処理を繰り返す、whileを使えばできますよね。
1 や 2 の場合はそれに応じたメッセージを表示させます。
No.1
- 回答日時:
> アカウントデータはテキストファイルの中に、名前、パスワードの順番に入っています。
じゃあ、それを適当に読み出して、何かの変数に格納するコードを書いて補足にどうぞ。
> result = verifyAccount(account, password)以降に何を書いたら良いか教えてもらえたら嬉しいです。
result に従って結果を表示するコードを書いて補足にどうそ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(再質問)エクセルのマクロボ...
-
秀丸エディタで、同じ記号で囲...
-
CSSのhtmlへの紐付けについ...
-
Ruby 格納
-
Ruby newメソッド
-
1、Rstudioで回帰直線を求める...
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
CSSのhtmlへの紐付けについ...
-
(再質問)エクセルのマクロボ...
-
パソコンのスクリーンセーバー...
-
教えてください
-
ビーリアルのユーザー名を変え...
-
ruby while式
-
ruby loopメソッド 変数
-
英数字を含む文字列(0-9,A-Z)...
-
Ruby newメソッド
-
100万件越えCSVから条件を満た...
-
C言語の入力した文字を反転させ...
-
pandasでsqlite3にテーブル作成...
-
ruby loopメソッド 変数(再喝)
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
Beautiful Soupのインストール...
-
<python>ノイズを時間指定して...
-
Ruby require ライブラリー
-
あせんうぶり言語
おすすめ情報