Newer
Older
Ruby / memo.rb
#!usr/bin/env ruby
# -*- coding: utf-8 -*-

to_do = []
hash = {}

while true
  puts "メモの作成\nメモを見る\nメモの削除\n1or2or3"
  sentaku = gets.chomp
  if sentaku == "1"
    puts "1.to doリスト作成\n2.ただのメモ\nメモの種類を選択してください。1or2"
    memo_kind = gets.chomp
    puts "次に、箇条書きをするかを入力してください。on or off"
    kazyougaki = gets.chomp
    if memo_kind == "1"
      file_to_do = File.open('to_do.txt',"a+")
      puts "内容を書き込んでください。終わる場合はendと入力してください。"
      while true
        if kazyougaki == "on"
          print "・"
        end
        naiyou = gets.chomp
        if naiyou == "end"
          break
        else
          if kazyougaki == "on"
            file_to_do.print "・"
            file_to_do.printf("%s\n",naiyou)
          else
            file_to_do.printf("%s\n",naiyou)
          end
        end
      end
      file_to_do.close
    elsif memo_kind == "2"
      puts "内容を書き込んでください。終わる場合はendと入力してください。"
      file_memo = File.open('memo.txt',"a+")
      while true
        if kazyougaki == "on"
          print "・"
        end
        naiyou = gets.chomp
        if naiyou == "end"
          break
        else
          if kazyougaki == "on"
            file_memo.print "・"
            file_memo.printf("%s\n",naiyou)
          else
            file_memo.printf("%s\n",naiyou)
          end
        end
      end
      file_memo.close
    end
    redo
  elsif sentaku == "2"
    puts "どちらのメモを見ますか?\nto_do or memo"
    begin
      see = gets.chomp
      if see == "to_do"
        num = 1
        File.readlines("to_do.txt").each do |line|
          printf("%d:%s",num,line.chomp)
          to_do << line.chomp
          num += 1
        end
        num = 1
        for i in to_do
          hash.store(i,num)
          num += 1
        end
        puts "終了したものは消すことができます。\n消したいものの番号を入力してください。終わる場合はendと入力してください。"
        while true
          finish = gets.chomp
          if finish == "end"
            break
          else
            file_to_do = File.open('to_do.txt',"w+")
            finish
          end
        end
        redo
      elsif see == "memo"
        File.readlines("memo.txt").each do |line|
          p line.chomp
        end
      elsif finish == "memo"
        File.readlines("memo.txt").each do |line|
          p line.chomp
        end
      end
    rescue Errno::ENOENT
      puts "そのメモは存在しないか、すでに消された可能性があります。"
    end
  elsif sentaku == "3"
    puts "どちらのメモを削除しますか?\nto_do or memo"
    begin
      delete = gets.chomp
      if delete == "to_do"
        File.delete("to_do.txt")
      elsif delete == "memo"
        File.delete("memo.txt")
      end
    rescue Errno::ENOENT
      puts "そのメモは存在しないか、すでに消された可能性があります。"
    end
  end
  redo
end