
좋아요, 이제 변수에 대해 이야기해 보겠습니다. 변수를 사용하면 스크립트가 실행되는 시점부터 다음 시점까지 변하지 않는 값을 저장할 수 있습니다. 이러한 값은 모든 유형의 데이터, 모든 종류의 데이터 구조 또는 다른 객체에 대한 참조일 수 있습니다. 많은 프로그래밍 언어와 달리 JMP 변수는 스크립트 시작 부분에 선언하거나 나열할 필요가 없으며 특정 데이터 유형을 저장하는 데 제한되지 않습니다. 따라서 언제든지 기존 변수에 새 값을 할당할 수 있으며, 새 값은 이전 값과 동일한 유형의 데이터 또는 참조일 필요가 없습니다. 변수에는 또한 범위가 있는데, 이는 JMP 내에서 변수를 사용할 수 있는 정의된 영역과 시간입니다. 변수가 사용 가능한 영역은 네임스페이스라고도 하며, 해당 이름이 특정 값 또는 객체 참조와 연결되는 공간입니다. 기본적으로 변수는 전역 변수입니다. 즉, 전역 네임스페이스에 존재합니다. 전역 변수는 현재 JMP 세션이 존재하는 한 JMP의 모든 위치에서 사용할 수 있습니다. 즉, 전역 변수는 JMP를 종료할 때까지 유지됩니다. 스크립트에서 계산한 합계를 저장하는 전역 변수 s를 생성한다고 가정해 보겠습니다. 현재 JMP 세션 중에 실행되는 모든 스크립트는 해당 변수에 액세스할 수 있습니다. 그러나 합계에 s를 사용하거나 카운터에 i를 사용하는 것처럼 여러 스크립트에서 동일한 변수 이름을 사용하는 경향이 있는 경우 해당 값이 서로 충돌할 수 있다는 점을 고려해야 합니다. 즉, 두 번째 스크립트의 s가 첫 번째 스크립트의 s 값을 덮어쓰도록 의도하지 않았을 수 있지만, 두 스크립트 모두 같은 이름의 전역 변수를 사용하는 경우 정확히 그런 일이 발생합니다. 같은 이름의 전역 변수는 서로 다른 복사본을 가질 수 없기 때문입니다. 따라서 변수의 범위를 제한하여 제한된 영역이나 제한된 시간 동안만 사용할 수 있도록 하는 것이 유용할 수 있습니다. 이를 달성하는 한 가지 방법은 로컬 변수를 사용하는 것입니다. 로컬 변수는 제한된 네임스페이스로 제한되는 변수로, 스크립트의 일부가 실행되는 동안에만 일시적으로 사용할 수 있습니다. 로컬 변수를 생성하려면 Local 함수를 사용합니다. 로컬 변수는 스크립트에서 이름을 관리하고 전역 네임스페이스에서 충돌을 방지하는 좋은 방법입니다. 전역 변수를 사용하는 또 다른 방법은 Here 네임스페이스를 사용하는 것입니다. 스크립트에서 Names Default to 함수를 사용하고 부울 인수로 a를 지정하면 모든 스크립트에 대해 고유한 Here 네임스페이스가 생성됩니다. 이를 통해 Local 함수를 사용하지 않고도 변수의 범위를 개별 스크립트로 제한할 수 있습니다. 필요에 따라 다른 네임스페이스를 생성하고 관리할 수 있으며, JMP에는 Global, Here, Local 네임스페이스 외에도 미리 정의된 다른 네임스페이스가 포함되어 있습니다.