0
행렬에서 계란의 특정 위치 지정. 목표 행, 열 및 대각선의 모든 달걀을 합산해야합니다.루비 (Ruby) 행렬의 대각선 값을 더하는 가장 좋은 방법
- 계란 -> 1
- 빈 -> 0 나는 계란의 위치를 매개 변수로 전달할 방법이라고 egg_performance을했습니다
. 이 방법에서는 행, 열 및 모든 대각선을 계산합니다. 행과 열에 문제가 없습니다. 대각선을 합하면이 코드 조각을 사용했습니다 (이것은 두 번째 사분면이 참조 용 큐 포인트로 사용됩니다).
# Second quadrant of the diagonals of the egg
x = egg_x - 1
y = egg_y - 1
while x >= 0 && x < egg_x || y >= 0 && y < egg_y
performance += 1 if @carton[y][x] == 1
x -= 1
y -= 1
end
이 코드를 실행하면 오류가 표시됩니다. 나는 범위 밖의 오류라고 생각하지만 그것을 찾을 수 없다.
./carton.rb:73:in `egg_performance': undefined method `[]' for nil:NilClass (NoMethodError)
from ./carton.rb:20:in `generate_random'
from main.rb:5
나는 그렇게 해왔다. 그것을 할 수있는 더 나은 루비 방법이 있습니까? main.rb
는 시간 내 주셔서 감사합니다. 는 행렬 열의 배열이 있다면
를 오류가 '@의 carton' 또는'@carton [Y] 중 어느 하나가'에 의해 정의되지 않은 'nil'이 때문이다 질문에 넣은 코드. 제 3 자 페이지가 아닌 관련 코드를 여기에 붙여 넣으십시오 (질문에). – pduersteler
"모든 대각선"이란 무엇을 의미합니까? 이것을 설명해 주시겠습니까? –