     |> Enum.map(fn list -> Enum.filter(list, &(&1 == "do")) end) # 入れ子になるので外側の無名関数はは&1使えない
     |> Enum.map(&(Enum.count(&1)))
   end
+  # Twitterで教えてもらったもっとスマートな回答。
+  # for x <- File.ls!(dir), !File.dir?(x), do: File.read!(x) |> String.split() |> Enum.filter(&(&1 == "do")) |> Enum.count(&(&1))
 end
 
 defmodule Scheduler do

# Execute on 3.1 GHz Intel Core i5
# catではなくて、'do'の数を算出している。
# elixir working_with_multiple_processes09.exs
# [{"./", [6, 5, 5, 5, 6, 3, 5, 9, 10]}, {"./", [6, 5, 5, 5, 6, 3, 5, 9, 10]}, {"./", [6, 5, 5, 5, 6, 3, 5, 9, 10]}, {"./", [6, 5, 5, 5, 6, 3, 5, 9, 10]}, {"./", [6, 5, 5, 5, 6, 3, 5, 9, 10]}, {"./", [6, 5, 5, 5, 6, 3, 5, 9, 10]}, {"./", [6, 5, 5, 5, 6, 3, 5, 9, 10]}]
#
#  #    time(s)
#  1      0.03
#  2      0.04
#  3      0.02
#  4      0.04
#  5      0.02
#  6      0.08
#  7      0.07
#  8      0.06
#  9      0.01
# 10      0.06


    end
  end


  defp count_word(filename) do
    File.read!(filename)
    |> String.split()
    |> Enum.filter(&(&1 == "do"))
    |> Enum.count(&(&1))
  end

  # ディレクトリに対して一連の処理。
  defp count_seek(dir) do
    File.ls!(dir)
    |> Enum.reject(&(File.dir?(&1)))
