주어진 배열의 인덱스를 변경 싶어, 루비의 방법 each_with_index를 사용하는 호랑이는 고양이 색인에 대해 4 개 색인 및 3 개 값을 갖습니다.어떻게 내가 주어진 배열의 인덱스를 변경 싶어
이 가능합니까?
감사합니다.
주어진 배열의 인덱스를 변경 싶어, 루비의 방법 each_with_index를 사용하는 호랑이는 고양이 색인에 대해 4 개 색인 및 3 개 값을 갖습니다.어떻게 내가 주어진 배열의 인덱스를 변경 싶어
이 가능합니까?
감사합니다.
당신은 Hash
로모그래퍼 것을 할 수있는 :
hash = {
3 => "cat",
4 => "tiger",
5 => "lion"
}
hash[4]
#=> "tiger"
것은 당신이 해시에 배열에서 변환 할 경우이 수행 할 수
arr = ["cat", "tiger", "lion"]
hash = Hash[arr.each_with_index.map{|v,i| [i+3, v] }]
#=> {"cat"=>3, "tiger"=>4, "lion"=>5}
each_with_index
으로는 수행 할 수 없지만 with_index
으로 처리 할 수 있습니다.
arr.each.with_index(3) do |e, i|
...
end
예. 그렇습니다.하지만 OP의 출력이 명확하지 않습니다. :) –
는 네, 그것은 당신이 할 수있는 가능 그것을 액세스 할 색인 메소드를 작성하십시오.
def get_by_index(array, value)
array[value-3]
end
또한 배열에서 상속 새로운 배열의 하위 클래스를 생성하고 여기에 설명 된대로 대괄호 방법을 다시 정의 할 수 있습니다 :
어떻게 결과가 같아야? 고양이, 호랑이, 사자, 네? –
@UriAgassi 동일한 주문이지만 다른 주문 색인을 사용하는 경우 3부터 시작합니다. – YoniGeek
명백하게 sawa는 당신이 의미하는 것을 안다 ;-) –