未適用メソッドを使用して関数を割り当てると、名前付きパラメータとデフォルトパラメータが失われているように見えます。これを避ける方法はありますか?関数の割り当て時に名前付きパラメータとデフォルトパラメータを保持する
def foo(namedParam: String = "defaultValue") = namedParam*2
// scala> foo()
// res8: String = defaultValuedefaultValue
def bar = foo _
// scala> bar()
// <console>:28: error: not enough arguments for method
// apply: (v1: String)String in trait Function1.
// Unspecified value parameter v1.
私はこれをしたい理由は、単一のファイルで私の輸入をバンドルすることで、すなわち
でmyproject/imports.scala
object imports {
def externalAPIFunction = myproject.somepackage.internalFunction _
}
Scalaのシェル
import myproject.imports._
externalAPIFunction() // no named or default arguments :(
これを行う方法は何ですか?あるいは、私のデフォルト引数を外部関数定義に入れなければなりませんか?
[完全に無関係](http://stackoverflow.com/a/25235029/334519)。 –