해시는 키-값 쌍을 가지는 콜렉션으로, 배열과는 다르게 항목간의 순서는 없으며,
유일한 키에 대응하는 하나의 값을 가지도록 되어있는 데이터타입 입니다.
해시는 대괄호 내부에 표현하며, 키-값 쌍은 아래와 같이 표현합니다.
키에 해당하는 값을 조회하기 위해서는 hash_name[key_name] 과 같은 형식을 사용합니다.
Hash는 Hash.new 메서드를 이용해서 생성할 수도 있습니다.
new 메서드를 사용할 경우 파라미터를 이용해 키에 해당하는 값이 비어있을 경우, 키의 기본값을 설정할 수도 있습니다.
심볼은 변하지 않는 (immutable) 객체의 일종으로,
한 번 생성되고 나면 변경할 수 없는 특징을 가집니다.
심볼은 : 기호를 사용해 생성하며, 단 하나의 카피만이 존재합니다.
즉, 컨텍스트 내에서 유일하다는 특성을 가지게 됩니다.
이러한 특성들로 인해 심볼은 해시 내에서 해시의 키 값으로 주로 사용됩니다.
해시에서 키-값 쌍은 "key" => "value" 형식으로 사용했으나
Ruby 1.9 이후 버전부터 symbol을 이용한 축약 문법을 사용할 수 있습니다.
Symbol을 String으로, String을 Symbol로 변경할 수 있습니다.