반응형
해시에 특정 키가 있는지 확인하는 방법은 무엇입니까?
세션 해시에 "사용자" 키가 있는지 확인하고 싶습니다.어떻게 해야 하나요?
키 값이 0인지 확인하고 싶지 않습니다."사용자" 키가 있는지 확인하고 싶습니다.
Hash
의key?
메소드는 지정된 키가 있는지 여부를 알려줍니다.
session.key?("user")
하는 동안에Hash#has_key?
Matz가 여기서 언급했듯이, 작업을 수행하는 것은 다음을 위해 권장되지 않습니다.Hash#key?
.
hash.key?(some_key)
해시 인스턴스에 메서드가 있습니다.
{a: 1}.key?(:a)
=> true
해시에 포함된 내용에 따라 기호 키 또는 문자열 키를 사용해야 합니다.
{'a' => 2}.key?(:a)
=> false
매우 늦었지만 기호를 키로 사용하는 것이 좋습니다.
my_hash = {}
my_hash[:my_key] = 'value'
my_hash.has_key?("my_key")
=> false
my_hash.has_key?("my_key".to_sym)
=> true
my_hash2 = {}
my_hash2['my_key'] = 'value'
my_hash2.has_key?("my_key")
=> true
my_hash2.has_key?("my_key".to_sym)
=> false
그러나 해시를 만들 때 문자열을 키로 전달하면 키에서 문자열을 검색합니다.
그러나 해시를 만들 때 기호를 키로 전달하면 has_key?는 기호를 사용하여 키를 검색합니다.
레일을 사용하는 경우에는Hash#with_indifferent_access
이것을 피하기 위해; 둘 다.hash[:my_key]
그리고.hash["my_key"]
동일한 기록을 가리킬 것입니다.
다른 방법은 여기에 있습니다.
hash = {one: 1, two: 2}
hash.member?(:one)
#=> true
hash.member?(:five)
#=> false
언제든지 사용할 수 있습니다.Hash#key?
키가 해시에 있는지 확인합니다.
그렇지 않으면 당신을 돌려줄 것입니다.false
hash = { one: 1, two:2 }
hash.key?(:one)
#=> true
hash.key?(:four)
#=> false
Rails 5에서 has_key? 메서드는 해시에 키가 있는지 확인합니다.이를 사용하는 구문은 다음과 같습니다.
YourHash.has_key? :yourkey
h = {}
if h.respond_to?(:key?) && h.key?('text') #with respond_to method check if it's hash
puts h['text']
end
언급URL : https://stackoverflow.com/questions/4528506/how-to-check-if-a-specific-key-is-present-in-a-hash-or-not
반응형
'programing' 카테고리의 다른 글
번들러로 보석 하나만 업데이트 (0) | 2023.05.31 |
---|---|
Visual Studio 코드 cmd 오류: 이 시스템에서 실행 중인 스크립트가 사용되지 않도록 설정되었기 때문에 로드할 수 없습니다. (0) | 2023.05.31 |
UI 레이블 - Wordwrap 텍스트 (0) | 2023.05.31 |
비활성화된 UIButton 색이 바랜다거나 회색이 아님 (0) | 2023.05.31 |
Postgre의 모든 테이블을 삭제하려면 어떻게 해야 합니까?SQL 데이터베이스? (0) | 2023.05.31 |