해쉬
다른 언어에도 있는 해쉬테이블, 연상배열을 말함
키와 오브젝트의 셋트를 저장한다.
키와 오브젝트는 임의의 종류의 오브젝트다.
키에는 자주 심볼이 사용된다.
# 해쉬 선언 # 이 예에서는 :name, :nickname 이 키, "bob","testman"이 값 hash = {:name => "bob", :nickname => "testman"} # 이렇게도 쓸수 있다. hash = {"name" => "bob", "nickname" => "testman"} hash = {name:"bob", nickname: "testman"}
심볼
소스 상에서는 문자열같이 보이지만, 내부에서는 정수(整数)로서 취급된다.
문자열의 모양을 한 정수(整数)라고도 할수있다.
직접 문자열을 처리하는것 보다 빠르게 처리할수 있기에, 문자열자체가 필요하지 않는 경우 이용된다.
일반적인 사용용도
- 해쉬의 키
- 엑세서의 인수로 넘겨주는 인스턴스명
- 메소드 인수로 넘겨주는 메소드명
- C 언어에서의 enum 대신
메리트
- 새롭게 문자열을 생성하지않는만큼 효율이 조금 좋고, 비교적 속도도 빠르다.
- 문자의 의미가 확실하게 부여되기에 가독성이 좋아진다.
- immutable 이기에 내용이 수정되는 걱정을 안해도 된다.
사용법
symbol = :hoge
참고
http://qiita.com/cabbage/items/238ebd7b91f83e99681e
No Comments