見出し画像

猛暑日に高階関数を

梅雨が記録史上最短で明け、発電量もままならない中猛暑日となり、エアコンの効いた部屋にいることがこんなにも幸せなんだと噛みしめている。ちなみに、家のエアコンを洗浄するために洗浄スプレーを購入したのだけれど、夜も暑いので掃除する暇がない。どんどん汚れがたまっていく。冷たい空気が出ているので、まだ大丈夫だろう。たぶん。

高階関数というものは昔からあるのだけれども、Java 8からJavaでも使えるようになっていた。あんまり使う機会がないのですっかり忘れていた。オブジェクト指向言語出身者からすると理解しにくいものなんだけれど、理解できると面白く思える。

Function<String, Function<String, String>> message = name -> postfix -> name + ", " + postfix;

関数が関数を返している。正確に言うと、関数ではないのだけれど。

Function<String, String> message = name -> name + ", hello";
Function<String, String> postfix = msg -> msg + " world";

Function<String, String> helloWorld = message.andThen(postfix);

ちーなみに、上みたいに二つの関数を合成することもできる。今まで知らなかった。

この記事が気に入ったらサポートをしてみませんか?