clojureで関数を変数に突っ込んでみる
toUpperCaseというのは、JavaのStringクラスにあるメソッドです。
clojureでそれを使ってみる。
まずは普通に呼び出してみる。
user=> (.toUpperCase "hoge") "HOGE"
次に一度fという変数に入れてから、後から呼び出してみる。
user=> (def f #(.toUpperCase %)) (def f #(.toUpperCase %)) #'user/f user=> (f "hoge") (f "hoge") "HOGE"
Javaじゃメソッドをそのまま引数に渡すとか、変数に代入するとということが出来ないので、Java以外の言語を知らない人には違和感が有るかも。