当处理现有库(不能编辑构造函数或伴随对象)时,我经常发现需要调用对象的init/setup过程,然后返回对象本身。我通常最终会做类似下面的事情。 def createObject: MyObject = {
val o = new MyObject
o.init()
o
}
这是恕我直言不是非常优雅,我想知道是否有这样做,例如更好的方法,一个的建立和取得功能的线
我正在使用scala应用程序和spark依赖项。 这里我有什么 log4j.properties # Here we have defined root logger
log4j.rootLogger=WARN,ERROR,R
#Direct log messages to file
log4j.appender.R=org.apache.log4j.RollingFileAppender
我想创建一个函数与下面的签名元组: def myFunction[T](functionWithName: (String, => T)): T
,这样我可以调用它,例如,像这样:val x = myFunction("abc" -> 4 * 3)。但是,Tuple不接受名称参数,所以上面的签名是无效的。 通过this answer的启发,我想下面的隐式转换: implicit class B