Blogger - 04 범위 연산자

Blogger 범위 연산자 - 출력 제한(limit 또는 take), 건너 뛰기(skip 또는 offest), 범위 지정 연산자(to).

범위 연산자는 배열의 출력 결과를 제어합니다

범위 연산자

연산자 설명
limit 출력 제한 연산자 array limit number
take 출력 제한 연산자 array take number
skip 건너 뛰기 연산자 array skip number
offset 건너 뛰기 연산자 array offset number
to 범위 지정 연산자 number to number

예제 1

limit 또는 take 연산자는 출력을 제한하는 연산자로 최대 출력 수를 지정할 수 있습니다. 아래 예제에서는 배열에 3개의 값이 존재합니다. limit를 이용해 2개의 값으로 제한하였기 때문에 결과 값으로 hello와 blogger만 출력됩니다.

<b:loop values='["hello", "blogger", "blogspot"] limit 2' var='item'>
  <data:item/>
</b:loop>
<!--
결과:
hello blogger
-->

게시물(posts)도 동일하게 동작합니다. 이 경우 처음 두 개의 게시물의 제목만 출력하고 나머지 게시물은 무시됩니다.

<b:loop values='data:posts limit 2' var='item'>
  <data:post.title/><br/>
</b:loop>

예제 2

offset 또는 skip 연산자는 주어진 수만큼 건너뛰기를 출력합니다. 아래 예제의 offset은 주어진 수만큼 건너뛰기 한 다음부터 출력합니다. 따라서 주어진 배열 중에서 두 개를 건너뛰므로 blogspot만 출력하게 됩니다.
<b:loop values='["hello", "blogger", "blogspot"] offset 2' var='item'>
  <data:item/>
</b:loop>
<!--
결과:
blogspot
-->

예제 3

to 연산자는 범위 지정 연산자로 사용할 수 있습니다. 예를 들어 다음은 2에서 9까지 배열을 만들어 출력합니다.

<b:loop values='2 to 9' var='item'>
  <data:item/>&nbsp;
</b:loop>
<!--
결과:
2 3 4 5 6 7 8 9
-->

최근 글 중 3, 4, 5인 게시물만 가져오려면 아래와 같이 <b:loop>를 하나 더 만들어 해결할 수 있습니다.

<b:loop values='2 to 4' var='range'>
  <b:loop index='num' values='data:posts' var='post'>
    <b:if cond='data:num == data:range'>
      <data:post.title/><br/>
    <b:if>
  <b:loop>
<b:loop>

<b:loop>의 인덱스 번호는 0부터 시작합니다. 예를 들어 현재 루프에 총 7개의 게시물이 있다고 가정해 봅시다. 7개의 게시물 번호는 0부터 6까지입니다. 3, 4, 5인 게시물을 가져오기 위해 범위를 지정하려면 '2 to 4'로 범위를 지정합니다. 게시물이 2~4에 해당하는 게시물을 출력하고, 나머지는 무시하게 됩니다.

Post a Comment