暗黙の変換はjs.FunctionN
< - >scala.FunctionN
で利用できることがわかりました。しかし、コンパイラが明らかに私が変換が必要であることを知らないので、私が動的なファッション(型付けされたファサードなし)でライブラリを扱うと、彼らは私を助けません。 JSコードは、JSの文字列を入力としての機能を持つ配列期待している場合たとえば、 -Scala関数をJS関数に変換する
['Hello world', function ($x, $y) {
console.log($x + $y)
}],
のようなものを、私はこのようScalaでそれを作成することはできません。
val a: js.Array[Any] = js.Array(
"Hello world",
(x: Int, y: Int) => {console.log(x + y)}
)
)
Scala関数はJS関数に変換されないためです。いくつかの明示的な変換方法が存在しますか?toJSArray
と同様に、可変Seq? asInstanceOf[js.Function]
が動作しないことを確認しました。それは基本的に真実ではないとする、「この機能はすでにjs.Function
である」と言っているので
'js.Function2 [...]'詳細ではなく、 ':js.Function'とみなすことで、よりボイラを少なくすることができます。しかしそうでなければ、はい、それはあなたがしなければならないものです。 – sjrd