선언문

이 도움말 페이지의 정보는 CXone StudioDesktop Studio에 모두 적용됩니다.

선언문을 사용하면 스크립트에 새로운 변수, 개체, 또는 함수를 도입할 수 있습니다. 이러한 문에 대한 키워드는 다음과 같습니다.

  • ASSIGN: 변수 또는 문자열 배열을 만들어야 할 때 이 문을 사용합니다.
  • DYNAMIC: 동적 데이터 개체를 만들어야 할 때 이 문을 사용합니다.
  • FUNCTION: 스크립트에 새 함수를 만들어야 할 때 이 문을 사용합니다.

문의 각 유형에 대한 논의에는 구문 요약이 포함됩니다. 이러한 요약은 특정한 규칙을 사용하여 문의 일부를 나타내고 각 부분이 필수인지 선택 사항인지를 나타냅니다.

ASSIGN

설명: ASSIGN 문은 지정하는 이름과 값이 포함된 변수를 생성합니다.

구문: ASSIGN <variable> = "<value>" | <value>

Studio 작업: Assign (CXone Studio의 도움말 페이지: Assign)

세부 사항: ASSIGN 문은 <variable>을(를) 생성하고 <value>을(를) 할당합니다. 변수를 생성할 때는 날짜/시간 유형인 경우가 아니라면 데이터 유형을 선언할 필요가 없습니다. Studio의 변수는 명시적으로 입력합니다. 즉, 한 번에 값을 생성 및 할당할 수 있다는 의미입니다. 예:

ASSIGN oneName = "Odin"

변수에 할당하는 값이 숫자인 경우에는 큰따옴표로 묶을 필요가 없습니다. 값이 문자열이면 큰따옴표로 묶어야 합니다.

ASSIGN 문을 사용하여 문자 배열을 생성할 수 있습니다.

ASSIGN manyNames = "Odin|Freya|Thor"

하나의 변수를 다른 변수의 값으로 할당할 수 있습니다.


ASSIGN x =  1
ASSIGN y = x 
ASSIGN var1 = z

등호 기호의 오른쪽에 있는 변수는 변수가 이미 선언되었다면 중괄호 및 큰따옴표로 묶을 필요가 없습니다. 스크립트는 등호 기호의 오른쪽 용어를 평가합니다. 중괄호 또는 큰따옴표로 묶여 있지 않는데 숫자가 아니라면, 스크립트는 이를 변수로 인식합니다. 이미 존재하는 경우, 스크립트는 그 값을 두 번째 변수로 할당합니다. 선언되지 않은 경우, 스크립트는 null 값으로 이를 생성합니다.

ASSIGN을(를) 사용하여 동적 개체에 값을 할당할 수 있습니다. DYNAMIC(으)로 개체를 선언한 이후, ASSIGN을(를) 사용하여 값을 개체의 멤버에 할당합니다. 멤버가 이미 존재하지 않으면, 값을 할당할 때 생성됩니다. ASSIGN <name>.<key> = <value> 구문을 사용하십시오.

변수 또는 선언 시 ASSIGN 키워드를 반드시 사용할 필요는 없습니다. 하지만, 사용하면 유용합니다. ASSIGN을(를) 포함하면 고급 검색을 사용하여 스크립트 내에 변수 또는 배열을 배치한 위치를 쉽게 찾을 수 있습니다. ASSIGN을(를) 사용하지 않으면 변수 또는 배열의 이름을 검색해야 합니다. 검색 결과에는 스크립트 내에 변수 또는 배열에 대한 모든 참조가 포함될 것입니다. 검색어에 ASSIGN을(를) 포함하면 변수가 명시적으로 할당된 결과만이 검색 결과로 반환됩니다. ASSIGN 없이 변수를 선언하려면 <name> = "<value>" 구문을 사용하십시오.

명명 가이드라인: 변수의 이름을 지정할 때는 다음 가이드라인을 따르십시오.

  • 영숫자 문자(a-z, A-Z, 0-9)를 사용합니다.

  • 이름의 첫 문자는 글자여야 합니다.
  • 밑줄 문자(_)와 달러 기호($)를 이름의 아무 곳에나 사용합니다.
  • 변수 이름의 마지막 문자가 달러 기호라면 값은 텍스트로 취급됩니다.
  • 사전 정의된 변수의 이름 또는 예약된 단어는 사용하지 마십시오.

자세히 알아보기: 변수에 관한 자세한 정보는 변수 도움말 페이지에서 확인할 수 있습니다.

DYNAMIC

설명: DYNAMIC 문은 특정한 이름의 동적 데이터 개체 변수를 생성합니다.

구문: DYNAMIC <name>

세부 사항: 동적 데이터는 여러 값을 보유할 수 있는 변수입니다. 배열과 유사하지만 몇 가지 핵심적인 차이가 있습니다.

동적 데이터 개체가 보유하는 값은 매개 변수라 합니다. 키-값 쌍으로 정의되며, 모든 매개 변수에는 키(이름)와 값이 있습니다. DYNAMIC 키워드로 개체를 선언한 이후에는 개체 멤버를 정의할 수 있습니다.

예:

DYNAMIC beowulfCharacteristics
beowulfCharacteristics.name = "Beowulf"
beowulfCharacteristics.occupation= "Hero" 
beowulfCharacteristics.foe = "Grendel" 

동적 데이터 개체와 매개 변수를 참조할 때 대소문자는 중요합니다. BeowulfCharacteristics은(는) beowulfCharacteristics과(와) 다릅니다.

개체에 할당하는 값이 숫자인 경우에는 큰따옴표로 묶을 필요가 없습니다. 값이 문자열이면 큰따옴표로 묶어야 합니다.

DYNAMIC을(를) 사용하여 다른 스크립트 또는 통합에서 스크립트로 전달되는 모든 개체를 선언합니다. 개체는 모든 스크립트에서 선언해야 하며, 아니면 저장할 때 스크립트 유효성 검사 오류가 발생합니다.

명명 가이드라인: 동적 데이터 개체의 이름을 지정할 때는 다음 가이드라인을 따르십시오.

  • 영숫자 문자(a-z, A-Z, 0-9)를 사용합니다.

  • 이름의 첫 문자는 글자여야 합니다.
  • 밑줄 문자(_)와 달러 기호($)를 이름의 아무 곳에나 사용합니다.
  • 사전 정의된 변수의 이름 또는 예약된 단어는 사용하지 마십시오.

자세히 알아보기: 동적 데이터 개체에 관한 자세한 정보는 개체데이터 구조 도움말 페이지에서 확인할 수 있습니다.

DYNAMIC에는 다른 중요한 용도인데, 그 용도는 다른 소스에서 스크립트로 전달되는 개체의 선언문 생성입니다. 이러한 개체를 선언하지 않으면 스크립트가 저장될 때 오류가 발생합니다. .

FUNCTION 

설명: 사용자 정의 함수를 만듭니다.

선언할 구문: FUNCTION <name><([parameter], [...])> <{ ... [RETURN [data]]}>

호출할 구문: <functionName><([parameter], [parameter], [...])><{<varName>.<functionName><([parameter], [parameter], [...])>}>

세부 사항: 마지막에 열림 괄호 및 닫힘 괄호 세트를 포함한 <name>을(를) 함수에 부여함으로써 함수를 선언합니다. 예: FUNCTION functionName(). 괄호 사이에 선택적으로 [parameters]을(를) 추가합니다. 매개 변수를 사용하면 인수라고 하는 데이터를 함수 내외로 전달할 수 있습니다.

선언 헤더 다음의 중괄호 { RETURN <data>} 사이에 함수가 호출되었을 때 스크립트가 실행하기를 원하는 코드를 포함합니다 코드 마지막에 RETURN 키워드를 기재한 다음 그다음에는 함수의 출력을 보유하기를 원하는 <data> 변수를 기재합니다. 호출하는 스크립트로 다시 데이터를 전달해야 할 때만 RETURN 다음에 변수를 포함하면 됩니다.

함수에 매개 변수가 없어도 함수 이름에는 항상 괄호가 포함되어야 합니다. 예:

FUNCTION noParams()

FUNCTION twoParams(name, accountNum)

포함한 코드를 사용해야 하는 스크립트에 함수를 호출할 수 있습니다. 함수 호출을 수행하는 데 사용할 구문은 함수가 값을 반환할지 여부에 따라 달라집니다.

함수 정의에 <parameters>이(가) 있는 경우 스크립트는 적절한 정보를 함수로 전달해야 합니다. 함수 호출에 매개 변수를 포함해야 합니다. 함수 정의에서 표시되는 것과 동일한 순서로 모든 매개 변수를 포함합니다. 예를 들면 callVar.twoParams('Beowulf', 349839)입니다.

함수의 결과를 변수에 할당되게 하려면 함수를 ASSIGN 문의 일부로 호출할 수 있습니다. 예를 들면 ASSIGN var = otherVar.function()입니다. 하지만, 한 케이스에서는 이를 수행할 수가 없으며, 이는 GetRESTproxy() 함수의 멤버 함수를 호출할 때입니다.

함수 정의의 함수 이름 뒤에 메모를 추가하여 함수에 대한 인라인 도움말을 제공합니다. 인라인 도움말은 Snippet editor 창에 입력할 때 팝업 메뉴에 추천 검색어를 표시합니다.

명명 가이드라인: 함수의 이름을 지정할 때는 다음 가이드라인을 따르십시오.

  • 영숫자 문자(a-z, A-Z, 0-9)를 사용합니다.

  • 이름의 첫 문자는 글자여야 합니다.
  • 밑줄 문자(_)와 달러 기호($)를 이름의 아무 곳에나 사용합니다.
  • 예약된 단어나 내장된 함수 이름은 사용하지 마십시오.

자세히 알아보기: 함수에 관한 자세한 정보는 함수 도움말 페이지에서 확인할 수 있습니다.

예시

FUNCTION TimerRound(Timer)
{
  IF Timer = "-1"
  {
    ASSIGN Timer = Timer
  }
  ELSE
  {
    ASSIGN PeriodLocation = Timer.indexof('.')
	IF PeriodLocation = 0
	{
	  ASSIGN Timer = Timer
	}
	ELSE
	{
	    ASSIGN DataLength = Timer.length
	    IF DataLength - PeriodLocation <= 2
	        {
	          ASSIGN Timer = Timer
            }   
	    ELSE
	     {
            ASSIGN DigitCheck = Timer.substr(PeriodLocation + 3, PeriodLocation + 3)
            IF DigitCheck >=5 && DigitCheck <= 9
               {
                  ASSIGN Timer = Timer + .01
               }
            ELSE
              {
                 ASSIGN Timer = Timer
              }
		
            ASSIGN Timer = Timer.substr(1, PeriodLocation + 2)
         }
      }
   }
  
   TRACE "{Timer}"
   RETURN Timer
}

IF TEST = 1
   {
      ASSIGN DC1 = "1.931876668494874"
   }   

   ASSIGN DC1 = TimerRound(DC1)