Допустим, у меня есть:
val sayHello: Int => Unit = {_ => println("hello")}
val sayHi: Int => Unit = {_ => println("hi")}
И такая функция, как foo
:
val foo: Int => Unit = {
sayHi
}
foo(123) //= prints hi
Есть ли способ написать это:
val bar: Int => Unit = {
i =>
sayHello(i)
sayHi(i)
}
без параметра i
? чтобы я мог запустить и sayHi
и sayHello
?
Я ошибочно обнаружил в своем коде следующее:
val foo: Int => String = {
sayHello
sayHi
}
, но используется только последнее выражение, а sayHello
не выполняется.
В общем, если бы эти функции возвращали что-то отличное от Unit
, скажем, каков нелепый способ объединения этих функций, чтобы
val Hello: Int => String = {_ => "hello"}
val Hi: Int => String = {_ => "hi"}
Какая самая нелепая реализация функциональной панели:
def bar: Int => Seq[String]
такой, что:
bar(123) // returns List("hello","hi")