2012-03-01 4 views
-2

materialstrength의 두 속성을 갖는 Grade이라는 객체가 있습니다.외부 배열을 수집하여 두 개의 개별 배열을 결합하는 것을 제거하는 방법

[steel, 75], [bronze, 22], [aluminium, 45] 

나는 현재이

Grade.all.collect{|e| e.material}.zip(Grade.all.collect{|g| g.strength}) 
#=> [[steel, 75], [bronze, 22], [aluminium, 45]] 

참고하십시오 :

Grade.all.collect { |g| g.material } 
#=> [steel, bronze, aluminium] 
Grade.all.collect { |g| g.strength } 
#=> [75, 22, 45] 

지금은 다음과 같은 출력을 얻을 둘을 결합하고 싶은 나는 외부 배열을 원하지 않는 [[steel, 75], [bronze, 22], [aluminium, 45]] 의견이 있으십니까?

+6

원하는 출력에 어떤 유형이 있습니까? –

+0

@SergioTulentsev 무엇을 의미하니, 출력이 [steel 75], [bronze 22], [aluminum 45] – Hishalv

답변

1

Splat 단순한 목록의 배열.

*Grade.all.collect{ |g| [g.material, g.strength] } 
관련 문제