2013-04-19 3 views
1

배열의 특정 위치에 해시를 삽입하고 싶습니다. 나는이 있습니다특정 배열 위치에 해시 삽입

arr = [ 
    {:key1=>"one", :key2=>"two", :key3=>"three"}, 
    {:key1=>"four", :key2=>"five", :key3=>"six"}, 
    {:key1=>"seven", :key2=>"eight", :key3=>"nine"} 
] 

을하고 결과가

arr = [ 
    {:key1=>"one", :key2=>"two", :key3=>"three"}, 
    {:key1=>"---", :key2=>"---", :key3=>"---"}, 
    {:key1=>"four", :key2=>"five", :key3=>"six"}, 
    {:key1=>"seven", :key2=>"eight", :key3=>"nine"} 
] 

사람의 도움이

+0

당신이 삽입하려는 것은 해시하지 않으며 유효한 루비 객체입니다. – sawa

+1

삽입을 원했고 Ruby Array에 삽입 메소드가 있습니다. 문서를 참조하기 만하면됩니다. –

답변

4

내가 생각 주실 것을

{:key1=>"---", :key2=>"---", :key3=>"---"} 

그래서 배열에 해시를 삽입 할 배열 삽입 메서드를 사용해야합니다.

arr.insert(1, {:key1=>"---", :key2=>"---", :key3=>"---"})

체크 아웃의 예는 여기 http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-insert

+0

+1 나를 이길 8 초 :) –

1

arr.insert(1,{:key1=>"---", :key2=>"---", :key3=>"---"})

+0

완벽한 감사합니다! –

+1

닫는 괄호가 누락되었습니다. – shishirmk

+0

@shishirmk : 지적 해 주셔서 감사합니다. –