1. 関数の引数に関数を渡す 「オブジェクト」が何であるかということは、とりあえず横に置いておいて... Python では、「関数」を関数の引数に渡すことができる。 例えば、 関数を引数に取る、関数 hoge を定義し、 hoge に関数 piyo を渡してみる。 def hoge(f): f() def piyo(): print "piyo" hoge(piyo) このように関数を引数として与えることに対して、関数型言語を学習する前は違和感を感じていた。しかし、今では関数を渡せない言語仕様の場合、 「何で関数だけ仲間はずれにするんだろう?」 と思うようになった。 2. Strategy パターンの代わりに使える 関数を渡して処理を進める方法は、関数を渡すことができない言語では、Strategy パターンを利用する。 Strategy パターンは、アプリケーションで使用されるアルゴリズ