문제를 해결하기위한 Ruby-est 방법을 찾고 있습니다.동적으로 해시 및 배열 만들기
나는 내 응용 프로그램이 유사한 형태의 코드를 가지고 :
data = [1,2,3,4]
a = []
b = []
h = {}
data.each do |val|
h[val] = func1(val)
a.push func2(val)
b.push func3(val)
end
이것은 물론, 단순화합니다. 내가하고 싶은 것은, 다음과 같은 코드 부여, 내가 좋아하는 뭔가를 가질 수 있도록, 라인이 조각의 2-4을 제거하는 것입니다 :
h, a, b = data.some_func{|val|
# do something
}
내 본능, map
이 충분하지 않을 것입니다하지만, 대신 내가 무엇이 필요한지 잘 모르겠습니다. 내 코드는 작동하지만 아주 루비처럼 보이지 않습니다. 내가 여기서 뭘해야하지?
+1 이것이 내가하는 방법이다. – Kyle
감사합니다. 나는 비슷한 것을 사용할 것이다. 나는 꽤 확신한다. 아마 실제 코드에서 a와 b는 h에 대한 참조를 기반으로 초기화되므로, h에 대한 each_with_object는 a와 b를 만든 다음 가독성을 손상시키지 않으면 서 빈 inits를 제거한다고 생각합니다. – asfallows