-즉, 구문 분석기와 일치하는 입력의 첫 번째 문자가 위치 1에 있고 일치해야 할 나머지 첫 번째 문자가 위치 7에 있습니다. 이것은 좋은 시작이지만, 이 모든 것은 우리가 ParseResult를 가지고 있지만 원하는 것, 즉 단어가 없기 때문에 무언가를 놓치고 있음을 시사합니다. 우리는 `ParserResult`를 더 잘 처리해야 합니다. ParseResult`에서 "get" 메서드를 호출할 수 있습니다. 그러면 결과를 얻을 수 있지만 모든 것이 작동하고 구문 분석이 성공적이라는 낙관적인 가정을 하는 것입니다. 우리는 입력이 유효한지 알 수 있을 정도로 입력을 제어할 수 없기 때문에 그렇게 계획할 수 없습니다. 입력은 우리에게 주어졌고 우리는 그것을 최대한 활용해야 합니다. 즉, 오류를 감지하고 처리해야 하는데, 이는 패턴 매칭을 위한 작업처럼 들리죠? 스칼라에서는 예외를 가두기 위해 패턴 매칭을 사용하고, 성공과 실패를 분기하기 위해 패턴 매칭(`옵션`)을 사용하므로 파싱을 처리할 때도 패턴 매칭을 사용할 것으로 예상할 수 있습니다. 그리고 실제로 다양한 종료 상태에 대해 `ParseResult`에서 패턴 매칭을 할 수 있습니다. 다음은 더 나은 작업을 수행하는 작은 프로그램을 다시 작성한 것입니다:
0 commit comments