webエンジニアの日常

RubyやPython, JSなど、IT関連の記事を書いています

Rubyで自分だけの英単語帳を作る

こんにちは、エンジニアのさもです。

新しい目の技術に触れたいとき、ドキュメントが英語しかなくてがっかりすることないですか?

私は英語が苦手なので、がっかりしてしまいます。

かといって、英語を勉強しようと思っても、TOEIC何点以上みたいなブログしか出てこない。

ドキュメントが読みたいだけで、英語をマスターしたいわけじゃないんです。

そこで、ドキュメントを読むのに必要な英語だけ勉強できるように、オリジナルな単語帳を作ってみます。

スポンサーリンク

目次

STEP1-読みたいwebページを探す-

読みたいwebページまたは電子化されたドキュメントファイルを準備します。

今回は、TensorFlowのGetting Started With TensorFlowのページを対象とします。

このページを開いて、おもむろにCtrl+a&Ctrl+cで文章をコピペします。

次に、メモ帳を開いて、Ctrl+vでペーストし、TensorFlow.txtみたいに名前をつけておきます

STEP2 -rubyスクリプトの準備-

TensorFlow.txtと同じフォルダに次の2つのファイルを準備しておきます

  • create_dict.rb
require 'erb'

# ファイルを読む
a = File.read("./TensorFlow.txt").force_encoding("utf-8")
# 空白とドットで区切る
a = a.split(" ").join(".").split(".").sort.uniq
# 数字と記号から始まるワードを除去
a = a - a.grep(/[0-9]|^\W/)
# 各ワードから記号を除去
a = a.map do |str|
  s = (str.split("") - str.split("").grep(/\W/)).join
  s.size == 1 ? "" : s
end
# インスタンス変数に入れる
@words = a.sort.uniq - [""]

# ページを動的に作成
File.open("./index.html", "w") do |file|
  file.puts(ERB.new(File.read("./index.html.erb")).result(binding))
end
  • index.html.erb
<html>
  <head>
    <title>my dict</title>
  </head>
  <body>
    <table>
      <% @words.each_slice(2) do |word1, word2| %>
        <tr>
          <td><%= word1 if word1 %></td><td><input type="text"></td>
          <td><%= word2 if word2 %></td><td><input type="text"></td>
        </tr>
      <% end %>
    </table>
  </body>
</html>

STEP3 -実行+勉強-

コンソールからファイルを作成したフォルダに移動して、ruby create_dict.rbと入力します。

すると、単語と入力欄が並んだindex.htmlというファイルが作成されます。

それをPDFで保存するなりして、印刷すればTensorFlowのページに特化した単語帳の出来上がりです。

f:id:s-uotani-zetakansu:20171011124803p:plain

日本語を埋めるのはお願いします。

以上、自分だけの英単語帳を作るでした。

読者登録をしていただけると、ブログを続ける励みになりますので、よろしくお願いします。