이항 및 삼항 연산자는 각각 2개와 3개의 피연산자를 사용하는 연산자입니다. 결과는 두 가지 값 중에서 선택됩니다.
구문
삼항 연산자
boolean ? allType : allType
이항 연산자
allType ?: allType
삼항 연산자
삼항 선택자는 3개의 피연산자를 포함하는 연산자입니다. 첫 번째 피연산자는
boolean이어야 합니다.
나머지 2개의 피연산자는 모든 유형이 될 수 있습니다. 마지막 피연산자는 앞선 피연산자의 결과 값에 따라 연산의 최종 결과가 결정됩니다.
boolean ? value if true : value if false
-
불리언 값은 다음과 같습니다.
- 값
- 데이터
- Blogger 표현식 (중첩 연산)의 결과
-
다른 값은 모든 유형이 될 수 있습니다.
- 값
- 데이터
- Blogger 표현식 (중첩 연산)의 결과
-
연산은 최종 결과 유형이 될 값을 허용하는 다른 연산에 중첩이 될 수
있습니다. 즉, 삼항 연산자가 유형이 숫자인 연산을 선택하는 경우 상위 연산은
NUMBER유형의 값을 허용해야 합니다.
이항 연산자
이항 연산자는 2개의 피연산자를 포함하는 연산자입니다. 2개의 피연산자는 모든 유형이 될 수 있습니다.
값이 비어 있지 않은 경우 첫 번째 피연산자가 기본 결과가 됩니다. 두 번째 피연산자는 첫 번째 피연산자의 값이 비어 있지 않은 경우 결과가 됩니다.
value 1 if not empty ?: Value 2 if value 1 is empty
-
값은 모든 유형이 될 수 있습니다.
- 값
- 데이터
- Blogger 표현식 (중첩 연산)의 결과
-
연산은 연산의 최종 결과 유형이 될 값을 허용하는 다른 연산에 중첩이 될 수
있습니다. 즉, 이항 연산자가 유형이 숫자인 연산을 선택하는 경우 상위 연산은
NUMBER유형의 값을 허용해야 합니다.
몇 가지 예
삼항 연산자 - 문자열
<b:with value='data:blog.isPrivate ? "비공개" : "공개"' var='status'>
<b:eval expr='"이 블로그는 " + data:status + " 상태 입니다."'/>
</b:with>
삼항 연산자 - 숫자
<b:with value='data:blog.isPrivate ? 10 : 5' var='myNumber'>
<b:eval expr='data:myNumber'/>
</b:with>
삼항 연산자 - 배열
<b:loop value='data:view.isHomepage ? data:posts limit 5 : data:posts' var='post'>
</b:loop>
이항 연산자 - 문자열
<b:eval expr='data:blog.pageName ?: data:blog.title'/>
공통 포함(Common Inclusion)에서
<b:loop value='data:widget.type == "PageList" ? data:links : data:posts' var='item'>
<a expr:href='data:item.href ?: data:item.url'>
<b:eval expr='data:item.title'/>
</a>
</b:loop>
다른 연산자
-
+ (concatenate) -
+ (addition) -
- (substraction) -
* (multiplication) -
/ (division) -
% (modulus) -
?: (selector) -
all -
and (&&) -
any -
appendParams -
contains (array) -
contains (string) -
count -
eq (==) -
filter -
first -
format -
fragment -
gt (>) -
gte (>=) -
in -
limit -
lt (<) -
lte (<=) -
map -
neq (!=) -
none -
not (!) -
offset -
or (||) -
params -
path -
resizeImage -
select -
Skip -
snippet -
sourceSet -
take -
to -
where