예를들어,
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를 만들 수 있다는 것 다들 아셨는지.. 저는 이런게 되는구나 하고 신기한데;;
Leave a Reply