小编Mic*_*jac的帖子

如何找到scala编译器标志/选项的描述?

如何找到最新scalac版本的所有标志?谷歌搜索了几个小时后,我发现只有过时的 文档.(例如,他们甚至没有提到"-feature"标志).

有没有办法从scalac或其他任何东西获取带有描述的编译器标志列表?

scala scalac scala-compiler

33
推荐指数
2
解决办法
6698
查看次数

为什么Def.inputTask宏在Scala 2.11.1中不起作用?

我正在使用Scala 2.11.1和sbt 0.13.5.

我有一个sbt插件,其中包含一个帮助函数来创建输入任务,如下所示(实现被删除,因为它与问题无关):

def register(name: String, description: String): Def.Setting[InputTask[Unit]] = {
    InputKey[Unit](name, description) <<= Def.inputTask { 
        println("test")
    }
}
Run Code Online (Sandbox Code Playgroud)

此函数在Scala 2.10.4中编译并正常工作,但是一旦切换到2.11.1,它就会失败并出现以下错误:

无法扩展由以前版本的Scala编译的宏

Def.inputTask宏观只是打破了斯卡拉2.11.1,还是我失去了一些明显的细节?

现在,上面的函数驻留在可以想象的最简单的sbt插件中.完全没有依赖关系.

scala sbt scala-2.11

25
推荐指数
2
解决办法
7745
查看次数

如何使用Play Framework通过SSL连接到远程MySQL数据库?

我在分布式环境中部署Play应用程序,由远程MySQL数据库支持.具体来说,应用程序托管在heroku上,数据库位于Amazon RDS上(尽管这实际上适用于任何远程数据库连接).由于数据库不仅仅在localhost上,我更希望远程MySQL连接是通过SSL进行安全的.

鉴于要信任的CA证书,只有在可以验证主机证书的情况下,如何配置Play应用程序才能通过SSL连接到MySQL服务器?

假设这是当前的数据库配置:

db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://url.to.database/test_db"
db.default.user=root 
db.default.password="...."
Run Code Online (Sandbox Code Playgroud)

java mysql scala amazon-rds playframework

20
推荐指数
1
解决办法
3万
查看次数

Scala中的数字格式?

我有一个动态改变的文件输入读数.数字是IntDouble.为什么Scala会.0在每个Double数字后打印?有没有办法让Scala以与读取它相同的方式打印它?

例:

var x:Double = 1
println (x)             // This prints '1.0', I want it to print '1'
x = 1.0                 // This prints '1.0', which is good
Run Code Online (Sandbox Code Playgroud)

我无法使用,Int因为我得到的一些输入是Doubles.我不能使用StringAnyVal因为我执行一些数学运算.

谢谢,

scala

16
推荐指数
4
解决办法
3万
查看次数

我如何在正常的sbt项目中使用play ws库而不是play?

当我尝试在正常的sbt项目而不是播放项目中使用Play WS库时,我必然会使用play.api.Play.current并获得 java.lang.RuntimeException:" 尝试运行应用程序时没有启动应用程序" .

scala sbt playframework

14
推荐指数
2
解决办法
1万
查看次数

Play Framework 2.2:获取请求页面的URL

播放框架JAVA:

我试图获取请求控制器功能的URL的名称.例如,我有一条路线

GET /mypage controllers.Mypage.myfunction()

我有另一个请求相同控制器的页面

GET /anotherpage controllers.Mypage.myfunction()

有没有办法在控制器中找到请求是来自/mypage还是来自/anotherpage

谢谢

java playframework playframework-2.2

12
推荐指数
2
解决办法
1万
查看次数

在交互式Scala控制台中打印整个结果

当我在Scala交互式控制台中输入内容时,控制台会打印语句的结果.如果结果太长,控制台会裁剪它(向右滚动以查看它):

scala> Array.fill[Byte](5)(0)
res1: Array[Byte] = Array(0, 0, 0, 0, 0)

scala> Array.fill[Byte](500)(0)
res2: Array[Byte] = Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

scala read-eval-print-loop

10
推荐指数
1
解决办法
9806
查看次数

scala排序稳定吗?

Scala集合有sortBy方法.这种方法稳定吗?

def sortList(source : List[Int]) : List[Int] =
  source.sortBy(_ % 2)
Run Code Online (Sandbox Code Playgroud)

这个例子总能保留秩序吗?

sorting collections scala standard-library

10
推荐指数
1
解决办法
1301
查看次数

Eclipse中的Scala编辑器不起作用

我安装了最新版本的Scala IDE for Eclipse

http://scala-ide.org/download/current.html

现在我尝试使用Scala编辑器打开一个.scala.html文件,并Failed to create the part's controls说明下面详述的错误.故障排除说启用JDT编织,已经启用.

另一个引用此错误的网站:https://github.com/scala-ide/scala-ide-play2/issues/33

我也尝试过将Scala自然添加到项目中它什么都不做.

如何在Eclipse中编辑.scala.html文件?这是开发Play应用程序时的一项基本任务,所以如果没有修复,我正在寻找替代方案.

java.lang.ClassCastException: org.eclipse.jdt.internal.core.CompilationUnit cannot be cast to scala.tools.eclipse.InteractiveCompilationUnit
    at scala.tools.eclipse.ScalaCompilationUnitEditor$class.getInteractiveCompilationUnit(ScalaCompilationUnitEditor.scala:84)
    at scala.tools.eclipse.ScalaSourceFileEditor.getInteractiveCompilationUnit(ScalaSourceFileEditor.scala:68)
    at scala.tools.eclipse.ScalaSourceFileEditor.createPartControl(ScalaSourceFileEditor.scala:297)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:129)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:95)
    at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:300)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:859)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:839)
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:111)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:319)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:240)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:141)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:896)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:630)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:732)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:703) …
Run Code Online (Sandbox Code Playgroud)

eclipse ide scala editor

9
推荐指数
1
解决办法
3940
查看次数

如何用Anorm两次更好地解析同一个表?

假设我有以下两个类:

case class User(id: Long, name: String)

case class Message(id: Long, body: String, to: User, from: User)
Run Code Online (Sandbox Code Playgroud)

RowParserS可能会发生是这个样子:

val parser: RowParser[User] = {
    get[Long]("users.id") ~ get[String]("users.name") map {
        case id~name => User(id, name)
    }
}

val parser: RowParser[Message] = {
    get[Long]("messages.id") ~ 
    get[String]("messages.name") ~
    User.parser ~
    User.parser map {
        case id~body~to~from => Message(id, body, to, from)
    }
}
Run Code Online (Sandbox Code Playgroud)

除了这是行不通的,因为加入时users表两次,ANORM只会解析第一联接的列(两次),这样tofrom将是相同的.

这可以使用User解析器中的列别名来克服:

def parser(alias: String): RowParser[User] = {
    getAliased[Long](alias + "_id") ~ …
Run Code Online (Sandbox Code Playgroud)

scala playframework anorm

9
推荐指数
0
解决办法
431
查看次数