Julia로 코드를 작성하다 보면, 특히 주기적(perodic) 경계를 구현해야 할 때 인덱스를 ‘순환’시키기 위한 기법을 사용할 일이 종종 생깁니다. 예를 들어, 배열의 양 끝이 연결된 토러스(torus) 형태로 인덱스를 다루고 싶은 경우 말이죠. 저 또한 이런 ‘순환 인덱싱(circular indexing)’을 구현하려고 하던 중에 재미있는 문제를 겪었습니다.처음에는 아무 생각 없이 a % b 연산자로 인덱스를 조정하는 코드를 작성했는데, 기존에 기대하던 결과와 달라서 한참을 디버깅했습니다. 여러 테스트 코드를 돌리고, 출력값이 어디서 달라지는지 추적하다가 원인이 사실 매우 단순한 곳에 있음을 알게 되었습니다. 그 차이점은 바로 Julia에서 % 연산자는 ‘나머지(remainder)’를 구하고, 그 ..