the industrial

都内で働くITエンジニアの日記

Scalaで、Javaのメソッドを関数オブジェクトにする方法

まあ、当たり前かもしれないのだけど、「あ、できるんだー」という気づきがあったのでメモ

Javaのメソッドに対してアンスコで関数オブジェクトにできる(カリー化するときにも使う方法)

val driver = new ChromeDriver()
val fByName = driver.findElementByName _
fByName("password")

関数オブジェクトにできるということは、Javaのメソッドを高階関数の引数としても利用できる

def getByF(f: (String) => WebElement, name: String) = {
  f(name)
}
getBy(fByName, "password")
getBy(fByClassName, "password")