if it does't challenge you, it can't change you

RubyのWebエンジニアやってます。主にRuby on Railsのことで勉強になったこと書いていきます。

hash.keyでキーを取得したときは文字列ではない

sample = {name:"あり", email:"",password:"あり"}
empty = sample.key("")
puts empty
if empty == :name
  @error = "お名前"
elsif empty == :email
  @error = "メールアドレス"
elsif empty == :password
  @error = "パスワード"
end

puts @error

sample配列から空欄のキーを取得して、それに該当するときに変数errorに文字列を代入している。

これを、:name、:email、:passwordではなく

下のように文字列にしてしまうとif文が該当しなくなる

sample = {name:"あり", email:"",password:"あり"}
empty = sample.key("")
puts empty
if empty == "name"
  @error = "お名前"
elsif empty == "email2
  @error = "メールアドレス"
elsif empty == "password"
  @error = "パスワード"
end

puts @error