프로젝트 개요
Coddy Ruby 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 28번째.
당신은 작은 도서 관리자(library manager)를 만들게 될 것입니다. 이는 도서 목록을 관리하고 사용자가 도서를 추가, 검색, 필터링하고 읽음으로 표시할 수 있는 메뉴 기반 프로그램입니다.
각 책은 다음과 같은 키를 가진 해시입니다:
{
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}이 모든 것들을 library라는 이름의 배열에 보관하고, 메뉴를 출력하고 선택을 읽어들이는 loop do를 통해 전체를 구동하게 됩니다. 각 레슨마다 메뉴에 옵션이 하나씩 추가됩니다:
- 1. 도서 추가
- 2. 제목으로 검색
- 3. 장르별 필터링
- 4. 도서를 읽음으로 표시
- 5. 종료
이 첫 번째 레슨에서는 빈 라이브러리, 메뉴 루프 및 종료 옵션을 설정합니다. 나머지 옵션들은 나중에 채워 넣을 빈 상태의 분기로 시작됩니다.
챌린지
초급빈 library 배열을 초기화한 다음, 다음을 수행하는 loop do를 시작하세요:
- 메뉴를 출력합니다 (아래의 정확한 형식 참고)
gets.chomp를 사용하여 사용자의 선택을 읽습니다- 선택이
"5"인 경우,Goodbye!를 출력하고 루프를 빠져나옵니다
메뉴는 반드시 다음과 똑같이 보여야 합니다:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Choose an option: 프롬프트에는 print를 사용하여 커서가 같은 줄에 머물도록 하세요.
입력이 5인 경우, 출력은 다음과 같습니다:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!치트 시트
각 도서는 library 배열에 저장된 해시입니다:
library = []
book = {
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}메뉴 기반 프로그램을 만들기 위해 break와 함께 loop do를 사용하세요. 커서를 프롬프트와 같은 줄에 유지하려면 puts가 아닌 print를 사용하세요:
loop do
puts "--- Library Manager ---"
puts "1. Add Book"
puts "5. Exit"
print "Choose an option: "
choice = gets.chomp
if choice == "5"
puts "Goodbye!"
break
end
end직접 해보기
# TODO: 빈 library 배열 초기화하기
# TODO: loop do, 메뉴 출력, 선택 입력받기, "5"일 때 종료
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.