При назначении функции с использованием непримененного метода представляется, что именованные и параметры по умолчанию теряются. Есть ли способ избежать этого?Сохранение именованных параметров и параметров по умолчанию при назначении функции
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 _
}
оболочки Скала
import myproject.imports._
externalAPIFunction() // no named or default arguments :(
Любой способ сделать это или я должен поместить аргументы по умолчанию во внешнее определение функции?
[Не совсем несвязанный] (http://stackoverflow.com/a/25235029/334519). –