2012-06-10 3 views
1

Ruby를 처음 접했을 때 (프로그래밍과 일반적으로)이 문제에 대한 답을 찾기 위해 많은 docs, how-tos 및 SO 문항을 읽었으나 운이 없다. 멀리.요소 색인을 변수에 저장하기

나는 정수 배열을 가지고 있으며, 개체의 정수 중 하나를 나중에 배열에서 해당 개체를 삭제하기 위해 변수에 저장하려고합니다. 내가 지금까지 가지고하는 것은 :

array = [3, 5, 1, 2, 6, 9] 
objToDel = array[3] 
array.delete_at(objToDel) 
array 

이것은 내가 대신 "2"를 삭제하려는 ... 배열에 "1"을 삭제합니다. 배열의 실제 세 번째 요소 대신 "2"를 가리키는 배열 [3] 변수 지점을 가지기 때문에이 문제가 발생합니다. 슬라이스 메서드를 사용해도 아무 소용이 없습니다.

그래서 콘텐츠 대신 요소의 색인과 같게 변수를 가져올 수 있습니까? 배열을 해시로 변환하지 않고도이 작업을 수행 할 수 있습니까?

미리 감사드립니다.

+1

'objToDel = 3', 아니요? –

답변

1

물론, 그냥 변수에 인덱스를 지정 : 사용자가 직접 개체를 제거 delete 방법을 사용할 수 있습니다

index = 3 
array.delete_at(index) # => 2 
array # => [3, 5, 1, 6, 9] 

.

object_to_delete = 2 
array.delete(object_to_delete) # => 2 
array # => [3, 5, 1, 6, 9] 

배열의 개체 인스턴스가 모두 삭제됩니다. 원하는 개체가 아닐 수도 있습니다.

1

단어에 보관하려면 다음을 수행하십시오

array = [3, 5, 1, 2, 6, 9] 
objToDel = 3 
array.delete_at(objToDel) 
array 

행운을 빕니다.

관련 문제