flow control은 프로그램의 흐름을 제어하여 특정 구문을 반복하거나 게이트를 만들 수 있는 기능이다.
Gate는 말 그대로 '문' 이라고 생각할 수 있다.
Enter
핀이 트리거되면 바로 exit 핀이 트리거된다.Enter
핀으로 트리거되어도 아무 일도 일어나지 않는다.Open
핀은 닫혀 있는 문을 다시 연다.Close
핀은 문을 닫는다.Toggle
핀은 문이 닫혀 있으면 열고, 열려 있으면 닫는다.간단히 테스트해볼 수 있는 로직을 만들었다.
Open을 한 후에 Enter하면 Exit가 정상적으로 나오고, Close를 한 후에 Enter하면 Exit가 나오지 않는 것을 확인할 수 있다.
do N은 N으로 지정된 횟수만큼만 문을 열어 둔다. 만약 N만큼 Enter되었다면 Reset하기 전에는 Enter 되어도 Exit이 트리거되지 않는다. 그리고 현재 횟수가 얼마인지 Counter 변수를 꺼내 사용함으로써 확인할 수 있다.
여러 번 눌러도 6번 이상 Exit 되지 않는다.
do N에서 N 자리에 1이 들어간 것과 똑같이 기능한다.
한 번만 Exit되며 Reset해주기 전에는 Exit되지 않는다.
한가지 차이점이라면 시작 상황을 Closed
로 설정하여 먼저 Reset을 해주어야 하게끔 만들 수 있다는 점
Multigate는 Do Once 게이트에서 아웃풋이 여러개인 경우이다.
Is Random
이 true
이면 그때그때 랜덤한 아웃풋이 발생한다.false
이면 start index
부터 시작해서 한 바퀴를 돈다. 한 바퀴를 돌면 closed 된다. (기본값 : -1로 설정되어 있으면 out 0부터)Loop
가 true
이면 한 바퀴를 돌아도 closed 되지 않고 계속 순회할 수 있다.A와 B 핀이 번갈아 가면서 트리거된다.
is A
값을 이용할 수도 있다.
여러 개의 아웃풋 핀이 순서대로 실행된다. 동시에 실행되는 것처럼 보이지만 순서대로 실행된다.