2014-01-19 2 views
1

루비 데이터 파일에서 데이터 목록을 가져 오려고합니다. 나는 다음과 같은 코드를 가지고있다.Ruby 기호로 데이터 목록 가져 오기

us_cities = {:city => 'Lewisville', 'Florida', 'Angeles'} 

Im은 자기 공부를하고 있고, 적은 메모리를 사용하려고한다. 하지만 입력 버튼을 누르면 오류 메시지가 나타납니다. 나는 이것을 할 때가 되길 바란다 : us_cities[:city] 나는 도시 목록을 얻는다. 내가 올바른 방향으로 가고 있니?

내가 읽을 수 있도록 문서 참조로 답할 수 있다면 정말 좋을 것입니다. 감사!

답변

3

Hash 개체에는 각 키 - 값 쌍이 쉼표 (,)로 구분되는 키 - 값 쌍 목록이 있습니다. 귀하의 하나가 errorneous이며, 오히려 다음과 같이 수행

us_cities = {:city => ['Lewisville', 'Florida', 'Angeles']} 
us_cities[:city] # => ['Lewisville', 'Florida', 'Angeles'] 

Hash 고유 키와 값의 사전과 같은 모음입니다. 연관 배열이라고도하며 배열과 비슷하지만 배열에서 정수를 인덱스로 사용하는 경우 해시는 모든 객체 유형을 사용할 수 있습니다. 해시는 해당 키가 삽입 된 순서대로 값을 열거합니다.

그 키에 하나의 키 :city와 값이 도시 이름의 모든 목록을 유지 Array 객체이며,이있는 us_cities 해시를 만들었습니다. 이제 해당 키의 값을 :city으로 가져 오려면 Hash#[] (정확히 여기서는 us_cities[:city])을 사용해야합니다.

+1

대단히 감사합니다! –