본문 바로가기
programming/Dart Flutter

다트 언어 while 반복문을 사용한 메뉴 루프 using dart menu loop

by 개코 - 개발과 코딩 2022. 7. 25.

다트 언어의 while 반복문을 사용하여 메뉴 루프를 만들어 본다. while 반복문을 무한 루프 형식으로 만들어 애플리케이션이 종료하지 못하도록 하며, 종료 메뉴를 선택했을 때 애플리케이션을 종료하도록 한다. 이런 형식은 단순히 쉘 스크립트로 결과를 보기 위한 내부적인 로직 구성에도 사용된다.

다트 언어 while 반복문을 활용한 메뉴 루프
using dart menu loop

다트 언어에서 whle 반복문을 사용하여 메뉴 루프 ( menu loop ) 를 만들어 본다.

whlie 반복문의 무한루프를 이용하며 쉘에서 메뉴를 선택하도록 한다.

고전적인 프로그램 방식을 다트 언어에 적용해 본 것이지만, 다트 언어의 코드 테스트같은 단위 테스트로도 사용될 수 있다.

코드 설명

while(true) 형태로 무한으로 반복을 하도록 한다.

코드의 실행을 계속 하게 함으로써 애플리케이션이 중단하지 못하도록 한다.

키보드 입력으로 숫자 9를 입력하면 프로그램을 종료하도록 한다.

샘플코드

while 반복문을 이용하여 애플리케이션을 지속적으로 실행하고 있다.

메뉴를 구성하고 숫자를 입력하면 쉘 커맨드 화면을 지운 후 선택한 메뉴를 보여주고 메뉴를 보여준다.

숫자 9를 입력하면 애플리케이션을 종료한다.

코드를 보자.

// 코드의 실행은 단축키 F5 이다.

// importing dart:io file
import 'dart:io';

/// dart 언어를 이용한 커맨드 메뉴 애플리케이션
void main() {
  String? vMenu = '';
  var isRun = true;

  fnClearScreen();

  while (isRun) {
    print('----------------------------------------');
    print('선택한 메뉴 : $vMenu');
    print('----------------------------------------');
    print('번호를 입력하여 메뉴를 선택합니다.');
    print('----------------------------------------');
    print('1 : 1번 메뉴.');
    print('2 : 2번 메뉴');
    print('3 : 3번 메뉴');
    print('9 : 종료');
    print('----------------------------------------');
    print('메뉴를 선택해 주세요 : ');

    String? inMenu = stdin.readLineSync();

    switch (inMenu) {
      case '1':
        vMenu = fnSelectMenu('1');
        break;
      case '2':
        vMenu = fnSelectMenu('2');
        break;
      case '3':
        vMenu = fnSelectMenu('3');
        break;
      case '9':
        isRun = false;
        break;
      default:
        fnClearScreen();
        break;
    }
  }

  print('');
  print('프로그램을 종료합니다.');
  print('');
}

String fnSelectMenu(String param) {
  fnClearScreen();
  return param;
}

void fnClearScreen() {
  print("\x1B[2J\x1B[0;0H");
}

코드는 길지만 while 반복문만 확인하면 된다.

isRun 변수가 true 이기 때문에 while 반복문은 계속 반복될 것이며, 키보드 입력을 위해 기다릴 것이다.

키보드 입력으로 메뉴를 숫자로 입력을 받으면 화면의 내용을 지운 후 선택한 메뉴를 보여주며 다시 메뉴를 선택할 수 있도록 한다.

9번을 누르면 프로그램을 종료한다.

결과화면을 보자.

반응형

댓글