Newer
Older
Ruby / eigo.rb
@SATO Kenjiro SATO Kenjiro on 16 Jan 2023 1 KB 2023-01-16 19:14:21
# coding: utf-8

require'curses'
include Curses

require 'csv'
words = CSV.read("new2.csv", headers:true)

init_screen
cbreak

begin
  while true
    setpos(0,0)
addstr(sprintf(<<~home)
メニュー
1.英単語の確認 2.確認テスト 0.終了
home
      )
menu = getstr
if menu == "0"
  break
 elsif menu == "1"
   setpos(3,0)
   addstr(sprintf("検索(一部でもOK)"))
   ptn = Regexp.new(getstr)
     words.each do |row|
       if ptn =~ row["en"]
       addstr(sprintf("%sの意味は%sです。\n",row["en"],row["jp"]))
     refresh
       end
     end
 elsif menu == "2"
   n = 0
   while n <= 10
     x = rand(words.length)
     setpos(6,0)
     addstr(sprintf("確認テストをします。英語の綴りを正しく入れてください。"))
     setpos(7,0)
   addstr(sprintf("%s=>\n",words[x]["jp"]))
          refresh
          l = getstr
          setpos(8,0)
          addstr(sprintf("%sといれました。正解は[%s]\n",l,words[x]["en"]))
          refresh
          n+=1
   end
 end
      close_screen
  end
end