連絡先の一覧表示
CoddyのLuaジャーニー「Logic & Flow」セクションの一部 — レッスン 44/54。
チャレンジ
簡単連絡先リストアプリケーションの list 機能を実装してください。ユーザーが list と入力したとき、プログラムは保存されているすべての連絡先を整形して表示する必要があります。
前回のチャレンジを基に、list コマンドを処理する機能を追加します。ipairs() を使用して contacts テーブルを反復処理し、各連絡先の情報を表示します。リストが空の場合は、その旨をユーザーに通知してください。
要件:
- 前回のチャレンジのすべてのコード(セットアップ、メニュー表示、メインループ、および add 機能)を保持すること
- ユーザーが
listと入力したとき、contactsテーブルが空かどうかを確認すること - 空の場合、次のように出力すること:
No contacts found. - 空でない場合、次のように出力すること:
Contact List: ipairs()を使用してcontactsテーブルを反復処理すること- 各連絡先について、次の形式で出力すること:
[index]. [name] - [phone] addおよびquitコマンドは、以前と同様に動作すること- その他のコマンドは、引き続き
Command not yet implementedと出力すること
インタラクションの例:
Welcome to Contact List Manager!
Available Commands:
add - Add a new contact
list - Display all contacts
search - Search for a contact
delete - Delete a contact
quit - Exit the program
Enter command:
list
No contacts found.
Enter command:
add
Enter name:
Alice
Enter phone number:
555-1234
Contact added successfully!
Enter command:
add
Enter name:
Bob
Enter phone number:
555-5678
Contact added successfully!
Enter command:
list
Contact List:
1. Alice - 555-1234
2. Bob - 555-5678
Enter command:
quit
Goodbye!自分で試してみよう
-- Initialize contacts list
local contacts = {}
-- Display welcome message and menu
print("Welcome to Contact List Manager!")
print()
print("Available Commands:")
print("add - Add a new contact")
print("list - Display all contacts")
print("search - Search for a contact")
print("delete - Delete a contact")
print("quit - Exit the program")
print()
-- Main loop
while true do
print("Enter command:")
local command = io.read()
if command == "add" then
print("Enter name:")
local name = io.read()
print("Enter phone number:")
local phone = io.read()
local contact = {name = name, phone = phone}
table.insert(contacts, contact)
print("Contact added successfully!")
print()
elseif command == "quit" then
print("Goodbye!")
break
else
print("Command not yet implemented")
print()
end
end