Wolfram Archive
Wolfram Programming Lab은 레거시 제품입니다.
Programming Lab 탐색에 대한 접근 권한을 포함한 동일한 모든 기능을 Wolfram|One을 통해 사용할 수 있습니다.
사용 시작 »

코드가 작동하지 않는다면...버그가 있다는 뜻입니다.

코드 디버깅 방법

프로그래머는 실제 디버깅에 많은 시간을 할해해야 하는 경우가 있습니다. 하지만, 몇가지 원칙을 지킨다면 디버깅을 보다 빠르게 마치는데 도움이 될것입니다. (Wolfram 언어의 자동화 시스템은 다른 언어의 디버깅 과정에 비해 월등히 신속한 해결의 열쇠입니다.)

구문 수정

Wolfram 언어와 같은 컴퓨터 언어는 정의된 구문을 가지고 있습니다. 정의된 구문을 따르지 않을 경우, 다음과 같은 "구문 오류"를 만나게 됩니다.

오류는 하일라이트 된 부분 사이 어딘가에 나타납니다. 주의 할 점:
  • 불완전 브래킷: 대괄호, 중괄호, 소괄호와 같은 모든 묶음표 즉 [ { ( 등은 대응하는 대활호, 중괄호, 소괄호 ) } ]로 반드시 마무리 해야 합니다.
  • 따옴표 "로 시작하는 스트링 역시 따옴표 "로 마무리 해야 합니다.
무언가 올바르지 않고 이상이 의심되거나, 다른곳에서 복사해 가져온 경우, 다시 타이핑해서 넣습니다.

자동 완성 기능에 맡기세요!

Wolfram 언어가 타이핑을 인식하지 못하는 경우, 마지막 타이핑을 삭제하고 시스템의 자동 인식 기능이 제공하는 제안을 참고하며 다시 타이핑해보세요.

만약 찾고자 하는게 제안된 자동 인식 리스트에 없다면 질문 자체가 잘못된 경우인지 확인하시기 바랍니다.

문서를 활용 하세요!

임의의 함수의 용도가 궁금하시면, 문서를 참고하세요! 함수명에 마우스를 올리면 작은 탭이 나타납니다. (i)를 클릭하면 함수 기능에 관한 정보를 보실 수 있습니다.

문서에 게제된 예시를 복사하여 실행 또한 가능합니다. (데스트탑 용 Wolfram Programming Lab에서는 예제를 문서에서 직접 실행할 수도 있습니다.)

보다 작은 예제 사용

코드 전체의 실행에 문제가 있는 경우, 부분별로 나누어 각각의 작은 부분을 실행해 각각의 파트가 작동하는지 확인합니다. 필요시 각각의 함수 레벨로 분해하여 실행할 수도 있습니다. 문서에서 예제를 확인하세요.

메세지에 주목하세요!

Wolfram 언어가 메세지를 제시하여 작업 과정에서 발생한 문제를 통지하여 알려줍니다.

메세지를 읽고 문제를 해결하세요!

아무 변화가 없어요...

기호적 특성을 지닌 Wolfram 언어는 특정 입력에 대해 해당하는 작업이 없는 경우 해당 입력을 변경하지 않고 그대로 "상징적"으로 유지하거나 간혹
메세지를 제시하기도 합니다.

함수가 변화없이 반환되는 경우 함수에 쓰인 인수를 확인하여 무엇이 잘못 되었는지 찾아봅니다.

분홍 그래픽 박스

Wolfram 언어가 분홍 그래픽 박스를 반환한다면 해당 작업과 관련이 없는 그래픽 디스플레이를 시도한 경우 입니다.

InputForm을 사용하여 내재된 그래픽 식을 확인하고 문제를 해결합니다.

너무 느려요...

코드 실행을 시도하고 (셀 브래킷이 하일라이트되고 노트북 타이틀에 "실행"이 표시될때) 동작이 중지되지 않고 계속된다면, 무한 루프에 걸렸는지
의심해 봅니다. ALT+. (Mac에서는 ⌘-.)를 클릭하여 작업을 중단합니다.

방대한 크기의 작업을 실행하는 경우 그에 반하는 실행시간이 요구됩니다. 어떤 계산의 경우 약간의 입력 증가가 큰폭의 계산 시간 증대를 초래할 수 있습니다.

소규모 계산의 예입니다.

하지만 숫자의 범위를 20으로 늘리는 순간 결과는 100만 아이템으로 증폭되며 결과 도출을 위해서는 인고의 시간이 걸릴 것입니다.
ALT+. (Mac에서는 ⌘-.)를 클릭하여 작업을 중단합니다.

죄송합니다만, 사용자 불찰입니다.

컴퓨터가 사용자의 의도와 다르게 작동하는 경우 컴퓨터에 책임을 돌려선 않됩니다. 때때로 오류가 내장된 컴퓨터 혹은 컴퓨터 자체에 결함이 있는 경우도 있지만 사용자가 작성한 코드의 결함이 원인이 되는 경우에 비해 월등히 드물기 때문입니다. 그러므로 작성한 코드를 한번더 점검해 볼 필요가 있습니다. 하지만 Wolfram 언어 내에 문제가 있다고 확신하는 경우 문제를 나타내는 간단한 예제를 찾아 연락 주시기 바랍니다. Wolfram 언어가 완벽히 작동할 때까지 최선의 노력을 다하겠습니다.

주시할 것들

브래킷의 ([{...}]) 중요성!

올바른 브래킷을 사용하고 있는지 확인합니다. (), [ ], 그리고 {} 각기 다른 역할을 합니다. 예제를 참고하여 실행하려는 작업에 알맞는 종류를 선택합니다.

= (Set)과 == (Equal)은 동일하지 않습니다!

변수의 값 설정에는 하나의 등호 (=)를 사용하며,

상등 테스트에는 이중 등호 (==)를 사용합니다.

대문자/소문자의 중요성

Wolfram 언어는 대문자와 소문자를 구분하여 사용합니다. 경우에 맞는 대문자 소문자를 사용하지 않는 경우 Wolfram 언어는 사용자가 의도하는 작업을 인식할 수 없습니다. CirclePoints와 같은 내장 함수명처럼 각 단어는 대문자로 시작합니다.

쉼표의 중요성!

쉼표를 생략하는 경우 Wolfram 언어는 곱셈을 시도할 수 있습니다.

각각을 분리하고 싶은 경우 쉼표를 사용합니다.

타이핑 방법을 모르겠어요

일부 기호는 문자의 시퀀스로 작성됩니다.

de en es