아시다시피, 그것은 끔찍한 것처럼 보입니다. 그러나 이제는 사용자 수가 너무 커서 시스템이 정확히 어디에서 "잊어 버리기"시작했습니다 (데이터베이스 연결이 끊어졌습니다) 이 중첩 루프를 다시 작성하는 가장 좋은 방법은 무엇입니까?중첩 루프 다시 쓰기
User.all.each_with_index do
get Subset of criteria to select data
Subset1.each do
getSubset2
Subset2.each do
getSubset3
Subset3.each do
getSubset4
Subset4.each do
compute something
open file A
create or update a line
end
end
end
end
end
end
편집 : 서브 세트는 쿼리 또는 미리 정의 된 배열입니다. 나는
User.all.each_with_index do |user|
Subset1.each do |parameter1|
Subset2(function(user,parameter1)).each do |object2|
Subset3.each do |parameter3|
getSubset4(user, parameter1, object2, parameter3)
Subset4.each do |data|
p data
end
end
end
end
end
이것은 다소 모호합니다. 'getSubset'는 무엇을합니까? 다른 데이터베이스 쿼리입니까? – Stefan
그 코드를 우리가 할 수있는 코드로 리팩토링해야 할 것입니다 (잘하면 실행 가능한 루비). 스테판은 말하기를 너무 모호합니다. – tokland