
표현식은 중요한 개념이며 JMP 스크립팅 언어의 필수적인 부분입니다. 그렇다면 표현식이란 무엇일까요? 바로 JSL 코드에서 특정 작업을 수행하는 부분입니다. JSL 표현식은 데이터를 저장하고, 조작하고, 객체에 명령을 전송합니다. 표현식은 변수, 상수, 함수 또는 연산자의 조합으로 정의할 수 있으며, 이러한 표현식은 평가될 수 있습니다. 숫자나 변수 이름처럼 간단할 수도 있고, 전체 스크립트일 수도 있습니다. 표현식을 변수에 저장할 수 있으며, JMP는 항상 표현식을 즉시 평가합니다. 경우에 따라 표현식의 평가를 지연하고 싶을 수 있습니다. 평가 지연을 통해 JMP가 표현식을 평가하기 전에 표현식을 검토하거나 변경할 수 있습니다. 따라서 Expr 함수를 사용하여 표현식 자체를 유일한 인수로 사용하여 표현식의 평가를 지연하면, 함수는 변수에 저장할 수 있는 평가되지 않은 표현식을 반환합니다. 이를 표현식 인용이라고도 합니다. 표현식 평가 지연에 해당하는 동작은 해당 표현식을 평가하는 것입니다. Eval 함수를 사용하면 표현식 또는 표현식을 저장하는 변수만 인수로 사용하여 표현식을 즉시 평가할 수 있습니다. 이 함수는 표현식 평가 결과를 반환합니다. 이를 표현식의 인용 부호를 해제한다고 합니다. 때로는 인용된 표현식을 평가하지 않고 액세스해야 할 수 있습니다. 평가되지 않은 표현식을 반환하는 Name Expr 함수를 사용하여 평가 없이 표현식을 가져올 수 있습니다. 예를 들어 Expr 함수를 사용하여 표현식 시간을 a 변수에 저장한다고 가정해 보겠습니다. 표현식은 평가되지 않은 상태로 저장되고 로그에 반환됩니다. 스크립트에서 a 변수를 사용하면 JMP는 저장 중인 표현식을 평가합니다. a에 저장된 리터럴 표현식을 평가하지 않고 액세스해야 하는 경우, a를 인수로 사용하여 Name Expr 함수를 사용합니다. 이제 표현식의 평가를 지연하는 방법을 알았으니, 왜 그렇게 해야 하는지 알아보겠습니다. 한 가지 이유는 표현식을 수정할 수 있기 때문입니다. 목록과 마찬가지로 삽입, 제거 또는 대체를 통해 표현식을 변경할 수 있습니다. 표현식을 인수로 받아서 변경하는 함수가 많이 있습니다. 예를 들어 변수 a에 값을 할당한다고 가정해 보겠습니다. Insert Into 함수를 사용하여 인수를 추가하여 표현식을 수정할 수 있습니다. 예를 들어 표현식에 인수를 추가하려면 Insert Into 함수를 사용하고 첫 번째 인수로 a를, 두 번째 인수로 a를 지정합니다. 그러면 가 Multiply 함수에 삽입되고, a에 저장된 표현식은 times times가 됩니다.