배열로부터 해시 테이블 만들기

예를들어,

a=[1,2,3]
b=[4,5,6]

일 때

{1=>4, 2=>5, 3=>6}

과 같이 하려면? 이라는 질문에 comp.lang.ruby에 rober씨가 올린 방법.

 >> require 'enumerator'
=> true
 >> a = [1, 2, 3]
=> [1, 2, 3]
 >> b = ['a', 'b', 'c']
=> ["a", "b", "c"]
 >> a.to_enum(:zip,b).inject({}) {|h,(k,v)| h[k]=v; h}
=> {1=>"a", 2=>"b", 3=>"c"} 

to_enum이 enumerator를 생성하는거고, 어떤 메소드와 인자를 가한 뒤 (여기의 예에서는 b와 zip한 뒤)에 enumerator를 만들 수 있다는 것 다들 아셨는지.. 저는 이런게 되는구나 하고 신기한데;;

Similar Posts:

Comments 2