Saya ingin memeriksa apakah kunci "pengguna" ada atau tidak di hash sesi. Bagaimana saya bisa melakukan ini?
Perhatikan bahwa saya tidak ingin memeriksa apakah nilai kunci nihil atau tidak. Saya hanya ingin memeriksa apakah kunci "pengguna" ada.
ruby-on-rails
ruby
data-structures
associative-array
Mohit Jain
sumber
sumber
Sementara
Hash#has_key?
menyelesaikan pekerjaan, seperti yang dicatat Matz di sini , itu sudah tidak digunakan lagiHash#key?
.sumber
Dalam versi terbaru Ruby Hash instance memiliki
key?
metode:Pastikan untuk menggunakan kunci simbol atau kunci string tergantung pada apa yang Anda miliki di hash Anda:
sumber
Sangat terlambat tetapi sebaiknya simbol digunakan sebagai kunci:
Tetapi ketika membuat hash jika Anda melewatkan string sebagai kunci maka itu akan mencari string dalam kunci.
Tetapi ketika membuat hash Anda melewati simbol sebagai kunci lalu has_key? akan mencari kunci dengan menggunakan simbol.
Jika Anda menggunakan Rails, Anda dapat menggunakannya
Hash#with_indifferent_access
untuk menghindari ini; keduanyahash[:my_key]
danhash["my_key"]
akan menunjuk ke catatan yang samasumber
Hash#with_indifferent_access
untuk menghindari ini; keduanya:my_key
dan"my_key"
akan menunjuk ke catatan yang samaAnda selalu dapat menggunakan
Hash#key?
untuk memeriksa apakah kunci hadir dalam hash atau tidak.Jika tidak, itu akan mengembalikan Anda
false
sumber
Cara lain ada di sini
sumber
Di Rails 5, has_key? Metode memeriksa apakah kunci ada di hash. Sintaks yang digunakan adalah:
sumber