TODO_FILE = "todo.txt"
def show_todo_list
if File.exist?(TODO_FILE)
File.open(TODO_FILE, "r") do |file|
puts "TODOリスト:"
puts file.readlines
end
else
puts "TODOリストは空です。"
end
end
def add_todo_item(item)
File.open(TODO_FILE, "a") do |file|
file.puts(item)
end
puts "TODOリストに「#{item}」を追加しました。"
end
def remove_todo_item(item_number)
if File.exist?(TODO_FILE)
lines = File.readlines(TODO_FILE)
if item_number > 0 && item_number <= lines.size
removed_item = lines.delete_at(item_number - 1).chomp
File.open(TODO_FILE, "w") do |file|
file.puts(lines)
end
puts "TODOリストから「#{removed_item}」を削除しました。"
else
puts "指定された番号のTODOアイテムが見つかりません。"
end
else
puts "TODOリストは空です。"
end
end
loop do
puts "\n操作を選択してください:"
puts "1. TODOリストを表示する"
puts "2. 新しいTODOアイテムを追加する"
puts "3. TODOアイテムを削除する"
puts "4. 終了する"
print "> "
choice = gets.chomp.to_i
case choice
when 1
show_todo_list
when 2
print "新しいTODOアイテムを入力してください: "
new_item = gets.chomp
add_todo_item(new_item)
when 3
show_todo_list
print "削除するTODOアイテムの番号を入力してください: "
item_number = gets.chomp.to_i
remove_todo_item(item_number)
when 4
puts "プログラムを終了します。"
break
else
puts "無効な選択です。もう一度選択してください。"
end
end