MapReduceシリーズの第5弾。第4弾まではこちら → Scala / Erlang / Go / F# The Omnibus Concurrency Libraryというのを使ってみた。Scalaのアクターと同じ感じ。 require 'concurrent/actors' include Concurrent::Actors KeyValue = Case.new :key, :value Exit = Case.new :reply_to Complete = Case.new :actor, :result def log *args puts *args end class MapReduce # 繰り返し処理をするアクターを作る def loop_receive acc0 = nil, &block Actor.spawn do acc = acc0 loop do Ac