2014-10-13 1 views
0

Ruby에이 "의사 코드"를 변형시키는 데 도움을 줄 수있는 사람이 있습니까?Ruby에서 배열을 잘라내어 배열하십시오.

max = round_up(count(physical_values)) 
for i=0;i < max/100; i++ 
    part = physical_values[i*100..i*100+100] 
    send_part_to_server(part) 
end 

그것은이 같은 float 배열 뭔가는 다음과 같습니다

11.05016861219201 10.350157930876776 10.550160982681064 11.550176241702957 12.55019150072485 12.750194552529138 11.850180819409616 10.350157930876776 9.15013962005014 9.15013962005014 10.450159456778692 12.15018539711582 13.250202182040084 12.95019760433388 11.750179293507244 10.65016250858298 10.850165560387723 
+1

physical_values에 대한 샘플 데이터를 제공 할 수 있습니까? –

+1

이 코드가 무엇을해야하는지 설명해 주시겠습니까? – Stefan

+0

그것은 5000 데이터 레코드와 배열, 나는 각 "chunck"의 100 요소에이 배열을 분할하고 서버로 보내야합니다. – user6776

답변

2

당신은 ceil이 모아 원하는 each_slice는 조각을 얻을 수 있습니다. 다른 하나의 정수 분할의 결과가 항상 (내림) 정수 때문에 내가 to_f으로 플로트에 길이 변환

# Slices of 100 elements each 
physical_values.each_slice(100){ |part| send_part_to_server(part) } 

# <=100 slices 
slice_size = (physical_values.length.to_f/100).ceil 
physical_values.each_slice(slice_size){ |part| send_part_to_server(part) } 

참고. 또는 내가 할 수 있었다 :

(physical_values.length/100.0).ceil # Use a floating point 100.0 for float result 
+0

당신의 도움을 위해 Tks 많이! – user6776

+0

좋은 점, Phroggie! –

관련 문제