Newer
Older
Ruby / ej.rb
#!/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")