다음 이유로 배열이 수정되지 않는 이유가 궁금합니다. 배열을 통해장소에서 배열 수정 - 루비
@card.map!.with_index {|value, key| key.even? ? value*=2 : value}
어느 단지 반복, 모든 심지어 키에 대한 값을 두 배로 :
나는이 있습니다.
은 그럼 내가 수행
, 하나 개의 거대한 숫자로 배열을 결합 개별 번호로 분할 한 다음 배열에 정수로 다시 매핑@card.join.split('').map!{|x| x.to_i}
. 1 단계에서 2 단계로의 실제 변화는 1 단계가 a = [1,2,12]처럼 보이고 2 단계가 a = [1,2,1,2]처럼 보일뿐입니다. 두 번째 단계에서는 .map을 사용하더라도! 내가 P @ 카드를 사용하면 첫 번째 단계 후에 똑같은 것처럼 보입니다. 나는 그들이 새로운 배열로 전진하기를 원한다면 두 번째 단계를 무언가로 설정해야한다. 왜 이런거야? .map을 수행합니까? 두 번째 단계에서 자리에 배열을 수정하지? 아니면 방법의 연결이 내 능력을 무효로합니까? 건배.
당신의 코퍼스를 보여줍니다. 오류를 보여주십시오. 예상 결과를 보여주십시오. –
첫 번째 코드 블록에서 'value * = 2'표현은 오해의 소지가 있습니다. 대신에'value * 2'를 써야합니다. –