#!/usr/bin/ruby

# 해시

## 해시 만들기

hash = {x: 100, y: 200}

person = {name: 'Charlie', age: 13}

hash = Hash.new
hash = Hash[]
hash = {}
hash = Hash[x: 100, y: 200]


## 아이템에 접근
hash[:x]

hash.delete(:x)



def my_method(hash)
  p hash
end
my_method(hash)
my_method(x: 100, y: 200) # 괄호 없이도 해시를 매개변수로 전달할 수 있습니다.


=begin
* any?
* empty?
* has_value?
* include? / has_key? / menber? / key?
* length / size
* value?

=end



=begin
* assoc
* fetch
* fetch_values
* key
* keys
* values
* values_at

=end


=begin
* store
* merge
* update
* replace


* clear
* compact
* delete
* delete_if
* filter / select
* keep_if
* reject
* shift
* except
* slice

=end


=begin
* each
* each_pair
* each_key
* each_value

=end


=begin
* to_s
* to_a
* to_hash
* to_proc

=end


=begin
* flatten : 배열로 변환합니다.
* invert : 키/값을 서로 바꿉니다.

* transform_keys
* transform_values

=end




END{
  # https://ruby-doc.org/3.3.0/Hash.html
}
