刚刚看到一个有趣的可能性,在Scala中为高阶函数(如foreach或map)初始化代码块:
(1 to 3) map {
val t = 5
i => i * 5
}
(1 to 3) foreach {
val line = Console.readLine
i => println(line)
}
Run Code Online (Sandbox Code Playgroud)
这是一些记录的功能还是我应该避免这样的结构?我可以想象,"初始化"块进入构造函数,闭包本身变成了apply()方法?
感谢Pat的原始问题(http://extrabright.com/blog/2010/07/10/scala-question-regarding-readline)
目前,我正在使用 SBT 脚本插件进行测试。要将插件发布到本地存储库,请使用 build.sbt 中的以下代码片段:
crossScalaVersions := Seq(scalaVersion.value,"2.11.7")
scriptedDependencies := {
val local = publishLocal.value
}
Run Code Online (Sandbox Code Playgroud)
这样,工件就会发布到本地存储库中,但仅限于版本scalaVersion.value. 我想让它为两个 Scala 版本交叉发布。我怎样才能做到这一点?
int increment = 0;
if (StringUtils.isNotBlank(request.getParameter(NEXT_SCREEN_PARAMETER_NAME))) {
increment = 1;
} else if (StringUtils.isNotBlank(request.getParameter(PREV_SCREEN_PARAMETER_NAME))) {
increment = -1;
} else if (StringUtils.isNotBlank(request.getParameter(LAST_SCREEN_PARAMETER_NAME))) {
increment = Integer.MAX_VALUE;
}
Run Code Online (Sandbox Code Playgroud)