diff --git a/ej-test.csv b/ej-test.csv index 4594ae7..4710c85 100644 --- a/ej-test.csv +++ b/ej-test.csv @@ -1,2 +1,3 @@ word,mean hello,こんにちは +happy,幸せ diff --git a/ej-test2.csv b/ej-test2.csv new file mode 100644 index 0000000..e98301a --- /dev/null +++ b/ej-test2.csv @@ -0,0 +1,3 @@ +word,mean +hello,こんにちは +happy,はっぴー diff --git a/ej.rb b/ej.rb index 7ebe2c7..235ef08 100755 --- a/ej.rb +++ b/ej.rb @@ -1,32 +1,30 @@ #!/usr/bin/env ruby # -*- coding: utf-8 -*- -#引数の単語の意味を乗せる -#オプション"-e"で意味追加 +#引数の単語の意味を乗せる。オプション"-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 = [word,mean] << data.to_a #ヘッダーを入れたいから - p data_to_add - p data_to_add.to_s - # CSV.open("ej-test.csv","w"){|csv| csv << data_to_add} #もっと良いのありそう(諦) + 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 |index| - if index =~ Regexp.new(ARGV[0])#曖昧検索(?) - print index + +data.each do |item| + if item["word"] =~ Regexp.new(ARGV[0]) + printf("\"%s\"の意味は「%s」です。\n",item["word"],item["mean"]) + exit end end - -#data. +printf("\"%s\"はこの辞書には載っていません。\n",ARGV[0]) +print ("オプション「-e」をつけて起動すると意味を追加することができます。\n")