#!/usr/bin/env ruby # -*- coding: utf-8 -*- #引数の単語の意味を乗せる。オプション"-e"で意味追加 require'csv' require'optparse' data = CSV.read("ej-test.csv", headers: true) opt = OptionParser.new opt.on("-e word","単語と意味を追加") do|word| printf("\"%s\"を追加します。意味を入れてください。\n",word) mean = STDIN.gets.chomp data.delete_if {|row| row["word"] == word} data_to_add = data.to_a << [word,mean] #ヘッダーを入れたいから CSV.open("ej-test.csv","w") do|csv| # taihenndatta data_to_add.each{|add| csv << add} # もっと良いのありそう(諦) end exit end opt.parse!(ARGV) # 忘れ物でーす← data.each do |item| if item["word"] =~ Regexp.new(ARGV[0]) printf("\"%s\"の意味は「%s」です。\n",item["word"],item["mean"]) exit end end printf("\"%s\"はこの辞書には載っていません。\n",ARGV[0]) print ("オプション「-e」をつけて起動すると意味を追加することができます。\n")