INTSourceChangelist:3599948 Availability: Public Title: BuildGraph 스크립트 조건절 Crumbs: Description:BuildGraph 스크립트 조건절 작성시 필요한 문법을 배워봅니다. version: 4.13 parent:Programming/Development/BuildGraph type:Reference tags:Programming tags:BuildGraph [VAR:TopicCompact] [OBJECT:TopicCompact] [PARAM:image] ![%Programming/Development/BuildGraph/ScriptAnatomy/Conditions%](conditional_topic.png) [/PARAM] [PARAM:icon] ![](%ROOT%/reference_icon.png)(convert:false) [/PARAM] [PARAM:title] %Programming/Development/BuildGraph/ScriptAnatomy/Conditions:title% [/PARAM] [PARAM:description] %Programming/Development/BuildGraph/ScriptAnatomy/Conditions:description% [/PARAM] [PARAM:path] [RELATIVE:Programming/Development/BuildGraph/ScriptAnatomy/Conditions] [/PARAM] [/OBJECT] [/VAR] [TOC(start:1 end:3)] [EXCERPT:BuildGraphScriptConditions] BuildGraph 에 복잡한 로직을 만들려는 경우, 조건절 작업을 해야 합니다. 여기서는 BuildGraph 조건절 작성 방법과, 조건절 연산자 목록에 대해 소개해 드립니다. ## 조건절 BuildGraph 스크립트 조건절은 원자(atom)와 연산자(operator)로 구성되며 `true` 또는 `false` 로 평가됩니다. ### 원자 원자는 원자를 사용하는 적합한 유형에 강제되는 숫자, 문자열, 식별자가 될 수 있습니다. 원자는 따옴표 (') 또는 큰 따옴표 (") 로 묶어도 됩니다. 문자, 숫자, 밑줄 글자를 이어 붙인 경우 묶지 않아도 됩니다. 모든 원자는 어떻게 선언되었든 상관 없이 같은 유형으로 간주됩니다. 추가적으로 원자는 비교시 대소문자를 구분하지 않는데, 문자열 "True" 와 'true' 는 식별자 `true` 와 같다는 뜻입니다. (따옴표 종류도 다르고 대소문자가 달라도 상관 없습니다). ## 연산자 연산자 목록은 다음과 같이 지정되어 있습니다: | **연산자** | **설명** | **우선순위** | | ----------------------- | --------------------------------------------------------------------------- | --------------- | | `(x)` | 하위 표현식 | 1 | | `!x` | Not 연산자 | 1 | | `Exists(x)` | x 파일이 존재하면 true 입니다. | 1 | | `HasTrailingSlash(x)` | x 가 슬래시 또는 백슬래시로 끝나면 true 입니다. | 1 | | `x == y` | 두 원자의 같은지 검사합니다 (대소문자 무시). | 2 | | `x != y` | 두 원자가 다른지 검사합니다 (대소문자 무시). | 2 | | `x < y` | 정수 x 가 정수 y 미만인지 비교합니다. | 2 | | `x <= y` | 정수 x 가 정수 y 이하인지 비교합니다. | 2 | | `x > y` | 정수 x 가 정수 y 초과인지 비교합니다. | 2 | | `x >= y` | 정수 x 가 정수 y 이상인지 비교합니다. | 2 | | `x and y` | 두 인수 모두 `true` 이면 true 입니다. | 3 | | `x or y` | 두 인수 중 하나가 `true` 이면 true 입니다. | 4 | [REGION:note] `'<'` 와 `'>'` 글자는 XML 에서 이스케이프 캐릭터 `"<"` 와 `">"` 로 써야 합니다. [/REGION] [/EXCERPT:BuildGraphScriptConditions]