2014-11-25 5 views
1

response_time에 대한 몇 가지 통계를보고 싶습니다. response_time을 배열이나 목록으로 가져 오는 간단한 방법을 찾고 있습니다. 평균 응답 시간을 계산하려면 , 중간 값, 등. 루비 초보자로서 해시가 많은 해시를 포함 할 때 나는 항상 붙어 있습니다.해시 값 (해시 내)의 배열/목록 가져 오기

response_times = stats.values.map{ |s| s[:response_time] } 

이 반복을 모든 값을 통해 :

{ 
    0 => { 
     :name => "log_endpoint", 
     :response_time => "18" 
    }, 
    1 => { 
     :name => "auth_endpoint" 
     :response_time => "16" 
    }, 
    2 => { 
     :name => "get_friends_endpoint" 
     :response_time => "16" 
    }, 
    3 => { 
     :name => "get_friends_endpoint" 
     :response_time => "10" 
    }, 
    4 => { 
     :name => "log_endpoint", 
     :response_time => "14" 
    } 
} 

은 간단하게 할 수있는, 당신의 해시를 가정

M.

답변

1

stats라고, 당신의 도움에 대해 다시 한번 감사드립니다 외부 해시를 생성하고 모든 안쪽 해시에서 :respnose_time을 수집합니다.

는 여기 행동에 : 당신은 배열로 당신이 원하는 것을 수집하기 위해 해시의 각 값에 collect을 사용할 수 있습니다 http://ideone.com/NwOTIg

+0

감사합니다. – Mich

1

.

array_of_stuff = information.values.collect{ |info| info[:response_time] } 

주 : 가정하여 해시 배열로 주어진 기준에 각 요소를 추가합니다, information.values는 그 배열에 수집 호출 information 당신에게 각 값의 배열을 줄 것이다, information라고 나는 w0lf 게시 톱 매우 비슷한 대답. 내가 아는 한,지도와 수집은 똑같은 일을 할 것입니다, 나는 단지 수집이이 경우보다 논리적이라고 생각합니다.

+0

raph 감사합니다! – Mich

관련 문제