반응형
Ruby에서 배열을 청크하는 방법
Ruby 1.8.6에는 100,000 개의 사용자 ID 배열이 있으며, 각 ID는 정수입니다. 이 사용자 ID에 대해 코드 블록을 수행하고 싶지만 청크로 수행하고 싶습니다. 예를 들어 한 번에 100 개씩 처리하고 싶습니다. 가능한 한 간단하게 이것을 어떻게 쉽게 달성 할 수 있습니까?
다음과 같은 작업을 수행 할 수 있지만 더 쉬운 방법이있을 수 있습니다.
a = Array.new
userids.each { |userid|
a << userid
if a.length == 100
# Process chunk
a = Array.new
end
}
unless a.empty?
# Process chunk
end
사용 each_slice:
require 'enumerator'
userids.each_slice(100) do |a|
# do something with a
end
Rails는 in_groups_of후드 아래에서 사용합니다 each_slice.
userids.in_groups_of(100){|group|
//process group
}
참고 URL : https://stackoverflow.com/questions/1230279/how-to-chunk-an-array-in-ruby
반응형
'IT TIP' 카테고리의 다른 글
| 정적 변수 C ++에 대한 정의되지 않은 참조 (0) | 2020.12.10 |
|---|---|
| "정의로 이동"후에 당신이 어디에서 왔는지 돌아가라는 명령이 있습니까? (0) | 2020.12.10 |
| 자식 창에서 부모 창 다시로드 (0) | 2020.12.10 |
| C #에서 int에 대한 오버플로 예외가 없습니까? (0) | 2020.12.10 |
| 드롭 다운 메뉴의 부트 스트랩 3 화살표 (0) | 2020.12.09 |