Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

sayコマンドを使って英語の勉強

Macのsayコマンドは英語の勉強に使えると@shinji_kono先生からtwitterで教えていただいたので、

ちょっと工夫して、「無料英語学習メルマガ 一日一文“英語脳”で読む英語上達法」で毎日配信される本日の例文をsayコマンドで読み上げるRubyスクリプトを作ってみました。

eigonou.rb

# -*- coding: utf-8 -*-
require 'open-uri'
require 'nokogiri'

doc = Nokogiri::HTML(open("http://www.eigonou.net/magdisp/#{ARGV[0]}.html"))
doc.css("p").each do |elem|
  if elem.text =~ /■本日の例文(.*?)-------------/m
    todays_example = $1.gsub(/\n/, "")
    puts todays_example
    `say -v Alex #{todays_example}`
  end
end

実行例

以下のように、01462を指定すると、第01462号の例文が表示され、読み上げられます。

$ ruby eigonou.rb 01462
The U.S.'s 50-year trade embargo continues to limit Cuba's economic growth.

追記(2015/02/08)

上記のスクリプトでは動作しなくなっていましたので、以下のように書き換えました。また、同じ例文を聞くたびにネットワークアクセスをしないように、一度取得した英文はローカルに保存するようにしました。

$ ./eigonou.rb 02130
At the end of the game the king and pawn go into the same bag.