루비의 해시와 부호.

7085 단어 Rubytech
해시는 키와 값의 조합을 통해 데이터를 관리하는 대상이다.
해시를 만들려면 해시 구문을 사용합니다.
{ 'japan' => 'yen', 'us' => 'doller', 'india' => 'rupee'}

해시에서 값 추출


currencies = { 'japan' => 'yen', 'us' => 'doller', 'india' => 'rupee'}
p currencies['japan'] # yen

해시에 키 추가


currencies['dorakue'] = 'gold'
p currencies # {"japan"=>"yen", "us"=>"doller", "india"=>"rupee", "dorakue"=>"gold"}

해싱 반복 처리 사용


currencies.each do |key, value|
  puts "#{key}: #{value}"
end

해시 요소 삭제


currencies.delete('dorakue')

기호


기호란 문자열 앞에 콜론:을 배치하여 임의의 이름을 정의하는 기호입니다.
기호를
:シンボルの名前
형식으로 사용합니다.
:apple.class  # Symbol
기호는 루비 내부에서 정수로 관리됩니다.
두 값이 같은지 확인하면 문자열보다 더 빨리 처리할 수 있습니다.
기호는'같은 부호라면 같은 대상'이라는 특징을 가지고 있기 때문에 같은 부호의object아이디는 똑같아요.
p :banana.object_id # 1020508
p :banana.object_id # 1020508
p :banana.object_id # 1020508

p 'banana'.object_id # 60
p 'banana'.object_id # 80
p 'banana'.object_id # 100
기호는 동음판이기 때문에 파괴적인 변경을 할 수 없다.

기호를 해시 키로 사용하다


루비에서 해시 키는 문자열이 아닌 기호를 좋아합니다.
currenceis = { :japan => 'yen', :us => 'doller', :india => 'rupee'}
상술한 해시는 다음과 같이 개작할 수 있다.
currencies = { japan: 'yen', us: 'doller', india: 'rupee' }
# {:japan=>"yen", :us=>"doller", :india=>"rupee"}
키와 값이 모두 기호일 때 다음과 같다.
currencies = { japan: :yen, us: :doller, india: :rupee }
# {:japan=>:yen, :us=>:doller, :india=>:rupee}

좋은 웹페이지 즐겨찾기