私は次の機能を持っています
scala> def f1 = (prefix: String) => prefix + ".field"
f1: String => java.lang.String
そして、次のように、プレフィックスの値を p1 に固定する別の関数を f1 から定義したいと思います。
def f2: () => String = () => f1("p1")
またはそれ以上
def f2 = () => f1("p1")
Function.curried または f.curried と部分的に適用された関数を使用して同じことが達成できると思いますが、それでもできませんでした...
--
この記事を見て、より詳細な定義方法を見つけました。上記の構文は、この長い形式の単なる砂糖だと思います...
scala> object f2 extends Function0[String] {
| override def apply = f1("p1")
| }
defined module f2
scala> f2
res37: f2.type = <function0>
scala> f2()
res38: java.lang.String = p1.field