object Taps {
implicit class Tap[T](self: T) {
def tap[U](block: T => U): T = {
block(self) //値は捨てる
self
}
}
def main(args: Array[String]): Unit = {
"Hello, World".tap{s => println(s)}.reverse.tap{s => println(s)}
}
}
scala> import Taps._
import Taps._
scala> Taps.main(Array())
Hello, World
dlroW ,olleH