텍스트로 구동되는 간단한 형태의 쇼핑몰을 짜면서 첫번째로 마주한 문제가 항상 출력되는 메뉴를 만드는 것이었다.
단순하게 반복문을 이용해서 구성하려고 했으나, 반복문은 반복횟수를 처음에 정해놓고 진행하게되어 어느 순간에는 무조건 끝나게 된다는 문제가 있었다. 그래서 'dart 무한 루프'로 검색을 해서 찾아보니 방법이 있었다.
아래의 코드는 검색을 통해서 찾은 방식을 적용한것이다.
bool isRun = true
while (isRun) {
int i;
print(
"----------------------------------------------------------------------");
print(menu);
print(
"----------------------------------------------------------------------");
int? number = int.parse(stdin.readLineSync()!);
switch (number) {
case 1:
print("1입니다");
case 2:
print("2입니다");
case 3:
print("3입니다");
case 4:
print("4입니다.");
default:
print("지원하지 않는 기능입니다. ! 다시 시도해 주세요 ..");
}
}
항상출력하기 위해서 출력되는 부분 전체를 while문으로 감싸고 while의 조건을 isRun, isRun은 항상 true로 짜놓으면 false가 되지 않기 때문에 무한 루프로 구성할 수 있게 되었다.
import 'dart:io';
int? number = int.parse(stdin.readLineSync()!);
그리고 키보드 입력을 이용하기 위해서 dart.io 라이브러리의 readLineSync()함수를 사용하였다.
생각을 해보니 지금은 숫자만 입력을 받아서 int형으로 되어있지만, 나중에는 String형도 입력을 받아야하기 때문에 수정이 필요한 부분이다.