Scalaでimplicit conversionを使ったtapの実装はScala で tap メソッドを使う - Rainy Day Codingsに書いてある。
メソッドチェーンを切らずにtapしてprintlnとかよくやるけど、今日はそれ以外の使い方を学んだ。うはは。
tapを使わない場合は気の毒で目も当てられない
- import java.util.Properties
- def loadProperties(path: String): Properties = {
- val p = new Properties()
- p.load(new FileInputStream(new File(path).getAbsolutePath))
- p
- }
初期化メソッドの戻り値がthisじゃないからローカル変数に一度入れてからreturnしなきゃならんっていう古いjavaライブラリによくあるケース。
tapを使うとローカル変数がいらなくなる
- import java.util.Properties
- def loadProperties(path: String): Properties = {
- new Properties().tap( _.load(new FileInputStream(new File(path).getAbsolutePath)))
- }
いいねぇ!
No comments:
Post a Comment