运行以下优化任务时(R v.3.0.2)
library(DEoptim)
x <- seq(-6,6,length=100); y <- tanh(x)
goal <- function(par) return(1-abs(cor(x*par,y,method='spearman')))
ctrl <- DEoptim::DEoptim.control(VTR=0, trace=FALSE)
res <- DEoptim::DEoptim(goal,lower=-1,upper=1, ctrl)
Run Code Online (Sandbox Code Playgroud)
我得到堆栈不平衡警告
Warning: stack imbalance in '<-', 14 then 13
Warning: stack imbalance in 'withVisible', 7 then 6
Run Code Online (Sandbox Code Playgroud)
和unprotect()错误.如果VTR设置为低于0(即无法获得的值),那么问题就会消失,但由于性能问题,我宁愿不这样做.
尽管有错误但结果仍会返回,但我担心它可能不稳定/不正确.任何想法如何解决这个问题?
我正在尝试使用像这样的蛋糕模式进行依赖注入:
trait FooComponent {
val foo: Foo
trait Foo;
}
trait AlsoNeedsFoo {
this: FooComponent =>
}
trait RequiresFoo {
this: FooComponent =>
val a = new AlsoNeedsFoo with FooComponent{
val foo: this.type#Foo = RequiresFoo.this.foo
}
}
Run Code Online (Sandbox Code Playgroud)
但编译器抱怨RequiresFoo.this.type#Foo说它不符合预期的类型this.type#Foo.
所以问题是:是否可以在AlsoNeedsFoo内部创建一个对象,RequiresFoo以便依赖注入正常工作?