2012-10-04 2 views
4

일부 Clarion 코드에서 :=: 기호를 발견 했으므로 정확히 무엇을하는지 알 수 없습니다. 이 코드는 수년 전에 이전 개발자가 작성했기 때문에 나는 그에게 물을 수 없다. Google에서도 "colon equals colon"에 대한 결과를 찾을 수 없었습니다. 이 ::= in Python 또는 가능 the assignment operator :=과 비슷한 일이 있는지 궁금 해요기호 의미 : = : 평균 (콜론은 콜론과 동일)

lCCRecord Like(bufSlcdpaDtl),Pre(lCCRecord) 

! ...other stuff... 

lCCRecord :=: bufSlcdpaDtl 

: 여기

bufSlcdpaDtl이 파일 객체 인 코드의 예입니다.

+2

당신은 HTTP를 사용하여 시도 할 수 있습니다 : // symbolhound. co.kr/특수 문자 검색 – andlrc

+0

+1 위대한 검색 엔진 용. 북마크 됨. 그러나, 나는 그것이 무엇인지 불렀던 것을 아직도 발견 할 수 없다. 하스켈에 대한 [여기] (http://stackoverflow.com/questions/4521996/how-can-i-specify-that-two-operations-commute-in-a-typeclass)와 같은 일부 참조를 발견했습니다. 아무도 이름으로 연산자를 호출하지 ... – DanM7

답변

5

페이지의 language reference manual이 것을 딥 할당 연산자라고합니다. 구문은 destination : = : source입니다. 대상은 GROUP, RECORD, QUEUE ds 또는 배열의 레이블이 될 수 있습니다. 소스는 숫자, 문자열 const, 변수, 프로 시저 또는 표현식과 같을 수 있습니다. 하나의 ds에서 다른 ds로 여러 개별 구성 요소 변수 지정을 수행합니다. 자세한 내용은 해당 문서뿐만 아니라 클라리온의 명백한 가정에서 찾을 수 있습니다 http://www.softvelocity.com/

깊은 할당 연산자가하는 일의 좋은 예 :

Group1 GROUP 
    S SHORT 
    L LONG 
END 

Group2 GROUP 
    L SHORT 
    S REAL 
    T LONG 
END 

ArrayField SHORT,DIM(1000) 

CODE 

Group2 :=: Group1 ! Is equivalent to: 
        !  Group2.S = Group1.S 
        !  Group2.L = Group1.L 
        ! and performs all necessary data conversion 

ArrayField :=: 7 ! Is equivalent to: 
        !  LOOP I# = 1 to 1000 
        !   ArrayField[I#] = 7 
        !  END 
+0

우수! 나는 샘플 코드로 내 질문을 업데이트 할 것이다. 감사. – DanM7