小编mer*_*no1的帖子

Scala classOf用于类型参数

我正在尝试使用scala/java为对象更新创建一个通用方法,但我无法获取类型参数的类.

这是我的代码:

object WorkUnitController extends Controller {     
 def updateObject[T](toUpdate: T, body: JsonObject){
  val source = gson.fromJson(body, classOf[T]);
  ...
 }
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

需要类类型但是找到了T.

我知道在java中你不能这样做但是scala中有可能吗?

谢谢!

scala

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

詹金斯"我将修复构建"插件

有没有人知道是否有一个Jenkins/Hudson插件,当构建被破坏时,它允许你设置一些状态(就像我将修复它!),以便团队中的其他人知道

  • 有人在研究这个问题
  • 谁在研究这个问题

谢谢你的帮助

continuous-integration hudson hudson-plugins jenkins

15
推荐指数
1
解决办法
2385
查看次数

scala范围返回Long而不是Int

我有以下代码用字母打印从1到9的数字

class IntToNumber(num:Int) {
    val digits = Map("1" -> "one", "2" -> "two", "3" -> "three", "4" -> "four", "5" -> "five", "6"  -> "six", "7" -> "seven", "8" -> "eight", "9" -> "nine")
    def inLetters():String = {
        digits.getOrElse(num.toString,"")
    }
}

implicit def intWrapper(num:Int) = new IntToNumber(num)
(1 until 10).foreach(n => println(n.inLetters))
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我收到一条错误消息,指出该方法不适用于Long

Script.scala:9: error: value inLetters is not a member of Long
(1 until 10).foreach(n => println(n.inLetters))
                                    ^
one error found
Run Code Online (Sandbox Code Playgroud)

将最后一行更改为

(1 until 10).foreach(n => println(n.toInt.inLetters))
Run Code Online (Sandbox Code Playgroud)

工作良好..

有人可以帮助我理解为什么那个(1到10)范围返回Long而不是int?

types scala

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

sbt任务类路径

我正在开发一个sbt Task,我想访问一些应用程序类和依赖项.(具体来说,我想使用scalaquery生成数据库DDL)

有没有办法将这些依赖项添加到任务中,或者我需要为此创建一个插件?

object ApplicationBuild extends Build {

  val appName = "test"
  val appVersion = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    "org.scalaquery" % "scalaquery_2.9.0-1" % "0.9.5")

  val ddl = TaskKey[Unit]("ddl", "Generates the ddl in the evolutions folder")

  val ddlTask = ddl <<= (baseDirectory, fullClasspath in Runtime) map { (bs, cp) =>
    val f = bs / "conf/evolutions/default" 

    // Figures out the last sql number used
    def nextFileNumber = { ... }

    //writes to file
    def printToFile(f: java.io.File)(op: java.io.PrintWriter => Unit) { …
Run Code Online (Sandbox Code Playgroud)

scala sbt playframework-2.0

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

scala元组类型组成

给定一个元组类型

type T = (String, Int, String)
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以得到一个类型T1,其中T1将是

type T1 = (MyClass, String, Int, String)
Run Code Online (Sandbox Code Playgroud)

我希望能够宣布一个类似的课程

class TupleTypes[T] extends AnotherClass[T1]
Run Code Online (Sandbox Code Playgroud)

注意:元组大小未知且

type T1 = (MyClass, T)
Run Code Online (Sandbox Code Playgroud)

不会返回我想要的东西,它将返回(MyClass,(String,Int,String))这是不同的.

谢谢

types scala

7
推荐指数
2
解决办法
2108
查看次数

Scala占位符语法

有些东西我不太明白希望有人可以解释一下..我有Seq [String]

val strDeps: Seq[String] = ...
Run Code Online (Sandbox Code Playgroud)

我尝试在使用sortWith方法的反向排序它,我得到以下错误.

scala> print(strDeps.sortWith(_.reverse.compareTo(_.reverse) < 0) mkString ("\n"))
<console>:15: error: wrong number of parameters; expected = 2
              print(strDeps.sortWith(_.reverse.compareTo(_.reverse) < 0) mkString ("\n"))
                                                                    ^
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试排序而不做反向时它工作正常.

scala> print(strDeps.sortWith(_.compareTo(_) < 0) mkString ("\n"))
// this is fine
Run Code Online (Sandbox Code Playgroud)

它没有占位符语法也可以正常工作

scala> print(strDeps.sortWith((a,b) => a.reverse.compareTo(b.reverse) < 0) mkString ("\n"))
// this works fine too
Run Code Online (Sandbox Code Playgroud)

scala

4
推荐指数
2
解决办法
2235
查看次数