私は Scala を初めて使用しますが、関数を他の関数に渡すことができるのは非常に便利ですが、任意の関数参照を別の関数に渡すことはできますか? 上記の関数パラメーターのアリティは固定されます(とはいえ、任意のアリティで関数を渡すことができるかどうかについても興味があります)。型エラーにつまずいてしまいます。使用してみましAny
たが、効果がないようです。
たとえば、次のコードがあります。
class CodeRunner(val user_defined: (Int) => Unit) {
def run(input: Int) = {
user_defined(input)
}
}
def arbitrary_code(input: Int) = { println("Running with input " + input) }
val d1 = new CodeRunner(arbitrary_code)
d1.run(4)
そして私は得る:
Running with input 4
ここで、代わりに次の関数を渡したいとしましょう。
def arbitrary_code(input: String) = { println("Running with input " + input) }
CodeRunner
クラスを変更して両方を処理するにはどうすればよいですか?