본문 바로가기

D2Lang

[D2Lang] 4. D2의 Container를 알아보자!

728x90

오늘은 container의 중첩과 색상을 설정하는 방법을 알아보겠습니다.

아래의 예제 코드를 입력하시고 돌려보시면 아래의 사진과 같이 출력됩니다.

 

root

parent container1.child container1

parent container2: {
  label: parent2
  child container2 -> child container3
}

extra: extra parent {
  child1 -> _.parent container2.child container3
  child2 -> _.parent container2
}

parent container1.child container1 -> parent container2.child container2

root -> parent container1.child container1
root -> parent container2.child container2

extra.style.fill: "#ddffff"

코드를 설명 드리자면 일단 제일 상단에 위치할 root container를 만들어 줍니다.

그 다음에 parent container1에 속한 child container1를 둘 이 같이 한번에 생성합니다.

 

parent container2의 경우 label속성을 이용하여 parent2로 보이게 바꿔주고

child container2에서 child container3에 화살표를 이어주면서 두 개를 한번에 생성해줍니다.

 

그 다음 extra를 생성하는데 label속성 대신 축약형인 “:”를 사용해줍니다.

그리고 child1과 child2를 생성하는데 child1은 “_”를 통해 가장 밖에서 부터 접근하여 parent container2의 child container3에 화살표를 이어주고

child2의 경우에도 “_”를 통해 접근하여 parent container2와 이어줍니다.

 

그 다음 “parent container1.child container1 -> parent container2.child container2”는 자식에서 다른 자식 container로 화살표를 이어주는 예입니다.

 

또한 root에서도 다른 child container에 접근 가능하다는 예시이며

마지막으로 extra.style.fill: "#ddffff"속성을 통해 extra container의 색상을 변경하는 예제입니다.

결과

이와 같이 container에 대해 한 번에 정리해 보았습니다.

이전에 배운 화살표와도 결합하여 사용할 수 있습니다.

 

사용하면서 느끼지만 정말 유연한 것 같습니다.