2013-08-13 4 views
-1

내 배열로 배열의 요소를 가입은 다음과 같습니다이 개

arr = ["object 1", 3, "object 2", 6]

가 어떻게 아래의 예상 출력을 만들 수 있습니까? join을 사용하는 간단한 방법이 있습니까? 난 당신이 모든 것을 다시 생각해야한다고 생각 있도록

object 1 (x3), object 2 (x6).

+1

난 당신이 그런 데이터에 대한'hash'을 필요가 있다고 생각합니다. – Kabie

+0

키 중 일부가 같을 수 있지만 해시 값은 항상 달라지기 때문에 해시가 발생하지 않습니다. – TheWebs

+0

그런 다음 해시 대신 "키"뒤에 "값"이 포함 된 하위 배열이 오는 배열을 사용하십시오. 플랫 배열을 사용하면 가능하지만 가능한 경우 데이터를 구성하고 그룹화하는 것이 좋습니다. –

답변

3

은 문자열 배열에서 더 논리적 변환이 없습니다.
그러나 당신이 할 수는

arr.each_slice(2). # get every two elements 
    map { |top| "#{top.first} (x#{top.last})" }. # create a string for each pair 
    join(', ') # join them by a comma. 
# => "object 1 (x3), object 2 (x6)" 
+0

Im 어떤 작업을하고 있는지 잘 모르시겠습니까? 조금 더 설명해 주시겠습니까? 나는 합류 해 .... – TheWebs

+0

@KyleAdams 지금은 어떨까요? – oldergod

+0

완성 된 느낌 – TheWebs