0
두 건의 해시가 있으며 if 조건의 결과를 기반으로 해시 중 하나를 반복해야합니다.Ruby each Iterator - if 조건을 기반으로 반복을 위해 해시를 대체 하시겠습니까?
이if SOME CONDITION
hash_a.each do |x|
some code in here
end
else
hash_b.each do |x|
the same code in here
end
각 요소에 대해 실행되는 코드의 약 30 라인이있다, 그래서 제 질문은 다음과 같습니다 :
SOME CONDITION ? hash_a.each do |x| : hash_b.each do |x|
some code in here
end
: 더 같은 코드 모양의 무언가를 만들 수있는 방법이 아래에 내 코드는 현재 모습입니다
다른 방법으로 단순화/축소 할 수 있습니까?
미리 감사드립니다. SOME_CONDITION
오히려 간단 경우
해시를 인수로 사용하여 메서드를 만드는 것이 좋습니다. 예를 들어,'def doit (hash); 여기 몇몇 코드; 끝 '. 그런 다음'doit (condition? hash_a : hash_b)'를 실행하십시오. 이것은 당신이하고있는 일을 분명히하고 테스트를 용이하게합니다. –