티스토리 뷰
해시 (Hash)
해시는 키-값 쌍을 가지는 콜렉션으로, 배열과는 다르게 항목간의 순서는 없으며, 유일한 키에 대응하는 하나의 값을 가지도록 되어있는 데이터타입 입니다.
해시는 대괄호 내부에 표현하며, 키-값 쌍은 아래와 같이 표현합니다. 키에 해당하는 값을 조회하기 위해서는 hash_name[key_name]
과 같은 형식을 사용합니다.
# hash
my_hash = {
"name" => "Dinah",
"age" => 3
}
puts my_hash["name"] #=> "Dinah"
Hash는 Hash.new 메서드를 이용해서 생성할 수도 있습니다. new 메서드를 사용할 경우 파라미터를 이용해 키에 해당하는 값이 비어있을 경우, 키의 기본값을 설정할 수 도 있습니다.
# Hash.new
cats = Hash.new() #=> {}
cats["name"] = "Dinah"
cats["age"] = 3
cats #=> {"name"=>"Dinah", "age"=>3}
# 키/값쌍 삭제하기
cats.delete("age")
심볼 (Symbols)
심볼은 변하지 않는 (immutable) 객체의 일종으로, 한번 생성되고 나면 변경할 수 없는 특징을 가집니다. 심볼은 :
기호를 이용해 생성하며, 단 하나의 카피만이 존재합니다. 즉, 컨텍스트 내에서 유일하다는 특성을 가지게 됩니다.
# symbol 표기법
:my_symbol
이러한 특성들로 인해 심볼은 해시 내에서 해시의 키값으로 주로 사용됩니다.
해시에서 키-값 쌍은 "key" => "value"
의 형식으로 사용했으나, ruby 1.9 이후 버전부터는 symbol을 이요한 축약 문법을 사용할 수 있습니다.
# Hash에서의 symbol 사용
# Hash Rocket
numbers_hash = {
:one => 1,
:two => 2,
:three => 3,
}
# 새로운 Hash 문법
numbers_hash = {
one: 1,
two: 2,
three: 3
}
심볼의 형변환
Symbol을 String으로, String을 Symbol로 변경할 수 있습니다.
# symbol을 string으로 변환하기
:humpty.to_s #=> "humpty"
# string을 symbol로 변환하기
"humpty".to_sym #=> :humpty
"humpty".intern #==> :humpty
'Ruby & Rails' 카테고리의 다른 글
Ruby 처음 배우기 : 반복문 (1) | 2018.05.10 |
---|---|
Ruby 처음 배우기 : 조건문 (0) | 2018.05.10 |
Ruby 처음 배우기 : 배열 (0) | 2018.05.10 |
Ruby 처음 배우기 : 연산자 (0) | 2018.05.09 |
Ruby 처음 배우기 : 데이터타입 (1) | 2018.05.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 압축프로그램
- xmind
- MonGo
- Nas
- 몽고DB
- database
- 다음팟플레이어
- MySQL
- 아이폰 7
- 샤오미
- 깃
- 캡쳐프로그램
- 갤럭시 노트 7
- 마크다운
- 반디집
- quirky
- 픽픽
- 데이터베이스
- Git
- 윈도우 10
- js
- 방수방진
- 루비
- 자바스크립트
- javascript
- db
- ruby
- 마인드맵
- mongoDB
- GitHub
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함