뚜둔뚜둔✩

판다의 개발일지

기타/SCRIPT

[PRACTICE] Basics

2022. 5. 6. 04:23

    1) 주석 추가하기

    // 또는 ; 추가로 한 줄 주석을 추가할 수 있다.

    // comments start with // or
    ; or ;

    하지만 ;의 경우, Var command group에서 주석이 아닌 다른 의미로 사용될 수 있기 때문에 //로 주석을 추가하는 것이 더 안전하다.

    Var.View flags[3];ast.count;i

    2) 여러 줄에 나눠 쓰기

    어떤 매우 긴 명령은 백슬래시(\)를 사용해 여러 줄에 나누어 작성할 수 있다.

    APPEND test_protocol.txt\
    FORMAT.STRing("&testfunc=&correct_result",50.,' ')\
    FORMAT.UnixTime("c",DATE.UnixTime(),DATE.utcOffSet())

     

    3) ENDDO - script의 끝

    script의 실행을 중단시킨다. 만약 해당 script가 다른 script에서 호출되어 동작되었던 것이라면, 호출을 했던 script는 이어 실행된다.

    ENDDO가 명령어가 사용되어야 PRACTICE stack에서 제거되기 때문에 모든 script는 ENDDO로 마무리되는 것이 좋다.

    Data.Test 0x0--0x0fff
    Data.Test 0x8000--0x0ffff
    ENDDO

    또, PRACTICE script는 ENDDO 명령어와 함께 script 수행의 결과를 return 할 수도 있다.

    // script check_status.cmm

    ENDDO TRUE()
    // script test.cmm

    DO check_status.cmm
    ENTRY &status

    IF &status==TRUE()
        PRINT "pass"
    ELSE
        PRINT "fail"

    ENDDO

     

    4) Labels

    서브루틴 수행에 사용된다. indentation 없이, :로 끝나면 새로운 label이 정의된다.

    일반적으로, label을 함수명으로 생각할 수 있다.

    label을 사용하여 동일 script 내 다른 지점으로 분기할 수 있다.

    GOSUB check_status
    ENTRY &status

    IF &status==TRUE()
        PRINT "pass"
    ELSE
        PRINT "fail"

    ENDDO

    check_status:
        RETURN TRUE()

    하나 유의할 점은, label은 script의 ENDDO 이후에 정의되어야 한다.

    5) 공백

    PRACTICE script에서 공백은 잘못된 script 해석으로 이어질 수 있으므로, 작성 시 불필요한 공백 사용을 지양해야 한다.

    &count = 0. // not recommended

    &count=0.

     

     

    '기타 > SCRIPT' 카테고리의 다른 글

    [PRACTICE] STRing Functions  (0) 2022.06.19
    [PRACTICE] 흐름 제어 (Flow Control)  (0) 2022.05.09
    [PRACTICE] 변수 사용  (0) 2022.05.07
    [PRACTICE] 조건문과 반복문  (0) 2022.05.06
    VSCode에서 cmm script 작성하기  (0) 2022.05.04