AH
Size: a a a
AH
DS
DS
DS
AH
case class Foo[A](value: A) {
def zipWith[B, C](b: Foo[B], zipFun: (A, B ) => C) = zipFun(this.value, b.value)
def zipWith2[B, C](b: Foo[B])(zipFun: (A, B ) => C) = zipFun(this.value, b.value)
}
object Foo {
val fooA = new Foo(1)
val fooB = new Foo("1")
fooA.zipWith2(fooB)((a, b) =>
if (System.currentTimeMillis() == 1L) {
a.toString
} else b
)
fooA.zipWith(fooB, (a, b: String) =>
if (System.currentTimeMillis() == 1L) {
a.toString
} else b
)
}AH
AH
DS
оГ
SN
КП
КП
КП
IB
КП
КП
IB
КП
SN
SN