-
scala – 更改sbt的输出目录
所属栏目:[安全] 日期:2020-12-16 热度:98
我想更改某些生成文件的输出目录,在本例中是从XSD-Schema生成的对象. 这是我的构建文件的一部分. val main = PlayProject(appName,appVersion,appDependencies,mainLang = SCALA,settings = Defaults.defaultSettings ++ buildInfoSettings ++ scalaxbSettin[详细]
-
在scala中匹配case类:?(a,b)匹配{case a~b => …}
所属栏目:[安全] 日期:2020-12-16 热度:51
我有一个案例课 case class ~[a,b](_1:a,_2:b) 当我想做pattetn匹配 new ~("a",25) match{ case "a" ~ 25 =} 我可以这样使用它因为“a”~25和?(“a”,25)是等价的.但是如果我想通过{case“a”?“b”~25 =匹配新的?(“a”,new?(“b”,25)).麻烦开始了.我知道[详细]
-
scala – 如何使用Spray创建包含表单字段内容的POST请求?
所属栏目:[安全] 日期:2020-12-16 热度:150
我有一个Spray服务,期望POST填写某些表单字段.我正在尝试研究如何在我的测试规范中创建一个合适的POST来测试它. 到目前为止我有什么 Post("/customer") ~ sealRoute(myRoute) ~ check { responseAs[String] must contain("Success message") } 正如预期的那[详细]
-
连接列表的有效方法是什么?
所属栏目:[安全] 日期:2020-12-16 热度:172
当我们有两个列表a和b时,如何以有效的方式将这两个列表(顺序不相关)连接到新列表? 我无法从Scala API中弄清楚,如果::: b和a b是有效的.也许我错过了什么. 解决方法 在Scala 2.9中,:::(前置到列表)的代码如下: def :::[B : A](prefix: List[B]): List[B] =[详细]
-
为什么scala的并行序列没有contains方法?
所属栏目:[安全] 日期:2020-12-16 热度:94
为什么 List.range(0,100).contains(2) 工作,而 List.range(0,100).par.contains(2) 才不是? 这计划在未来? 解决方法 非 teleological答案是因为包含在SeqLike中定义但在ParSeqLike中没有定义. 如果这不能满足您的好奇心,您可以发现SeqLike的包含是这样定[详细]
-
为什么scala的集合默认不是“视图”?
所属栏目:[安全] 日期:2020-12-16 热度:94
在某些情况下,在执行map / filter / …之前将’view’应用于集合会降低性能.然而,这些情况(afaik)很少(例如,当存在单个操作时). 但是大部分时间附加’.view’可以通过阻止创建中间集合来提高性能. 那么,为什么’view’默认不适用于集合?我错过了一些隐藏的[详细]
-
Scala – 匿名函数的递归
所属栏目:[安全] 日期:2020-12-16 热度:98
我正在研究 scala labs的东西,我正在构建一个函数,最终会返回这样的东西: 尾(列表(1,2,3,4))=列表(列表(1,4),列表(2,列表(3,列表(4),列表( )) 我通过使用两个函数并在第二个函数上使用一些递归来实现此功能. def tails[T](l: List[T]): List[List[T]] = { i[详细]
-
scala – sbt:如果测试失败,如何编写运行testQuick的任务?
所属栏目:[安全] 日期:2020-12-16 热度:101
这个问题来自Martin Grotzke,Twitter. 他想写一个任务(或者我认为的命令)可以: 首次运行测试,如果失败,请跟进testOnly 聚合构建中的多个子项目 有效模拟Bash: $sbt test || sbt testQuick 动机是两次运行失败的测试来解决片状测试. 解决方法 项目/ TestExt[详细]
-
斯卡拉 – 获得或创造儿童阿卡演员并确保活力
所属栏目:[安全] 日期:2020-12-16 热度:176
我试图使用Akka actor的层次结构来处理每个用户状态.有一个拥有所有子节点的父actor,并以正确的方式处理get-or-create(参见 a1,a2): class UserActorRegistry extends Actor { override def Receive = { case msg@ DoPerUserWork(userId,_) = val perUserAc[详细]
-
scala – 如何在单独的线程中运行代码?
所属栏目:[安全] 日期:2020-12-16 热度:125
我想生成一个线程并在该线程中运行代码. Scala有哪些选项? 示例用法如下: Thread.currentThread setName "MyThread"val myThreadExecutor = ???val threadNamePromise = Promise[String]future { myThreadExecutor run { val threadName = "MySpecialThrea[详细]
-
scala隐式导致StackOverflowError
所属栏目:[安全] 日期:2020-12-16 热度:108
这个隐式val如何导致StackOverFlowError? (削减我的原始代码,仍然导致错误) object Complicit { // a class with name,default,and conversion function as implicit val case class CC[A](name: String,defaultValue: A)(implicit val convert: String = A[详细]
-
Scala部分函数类型定义
所属栏目:[安全] 日期:2020-12-16 热度:197
val even: PartialFunction[Int,String] = PartialFunction[Int,String] { case i if i % 2 == 0 = i + " is even"}val isEven: PartialFunction[Int,String] = { case i if i % 2 == 0 = i + " is even"}val odd: PartialFunction[Int,String] { case x if[详细]
-
scala – 绕过路径依赖类型无法保留依赖值
所属栏目:[安全] 日期:2020-12-16 热度:188
考虑以下: trait Platform { type Arch : Architecture def parseArch(str: String): Option[Arch]}object Platform { def parse(str: String): Option[Platform] = ???}trait Architecturedef main() { def exec(p: Platform)(a: p.Arch) = ??? Platform.p[详细]
-
scala – 一起添加数字
所属栏目:[安全] 日期:2020-12-16 热度:165
我有一个List [Number].它包含Number – Int,Double等不同子类的值.我想把所有的价值加在一起.如果列表只包含Int,我希望结果是Int.如果有混音,我想遵循正常的 Scala规则:Int Double = Double(依此类推). 我试过这个: val result = list.reduceLeft(_ + _)[详细]
-
scala – 如何在子项目中引用自定义SBT设置
所属栏目:[安全] 日期:2020-12-16 热度:176
与此 question有些类似,如何在子项目中引用自定义设置. 在build.sbt中: import sbt.Keys._val finagleVersion = settingKey[String]("Defines the Finagle version")val defaultSettings = Defaults.coreDefaultSettings ++ Seq( finagleVersion in ThisBui[详细]
-
scala – 如何使用specs2对测试进行分组?
所属栏目:[安全] 日期:2020-12-16 热度:70
我已经习惯了JUnit,在JUnit中,只需在单个文件(类)中定义这些测试并使用@Test注释它们,就可以将几个测试(通常与一个类相关)组合在一起.然后,要运行其中几个测试,使用@ Suite.SuiteClasses创建TestSuite,依此类推. 在specs2中,可以在扩展某些规范的两个不同级[详细]
-
Scala:如何在超类上实现克隆方法,并在子类中使用它?
所属栏目:[安全] 日期:2020-12-16 热度:65
我可能会以错误的方式接近这个,但我希望有一个像这样的对象: class MyDataStructure { def myClone = { val clone = new MyDataStructure // do stuff to make clone the same as this ... clone }}class MyDataStructureExtended(val foo: String) extends[详细]
-
scala – 当只有插件的源可用时,如何在sbt项目中使用插件?
所属栏目:[安全] 日期:2020-12-16 热度:59
我想使用 sbt-scrooge插件,但它的回购现在不可用 – http://koofr.github.com/. 我以为我会将这个插件的源代码直接包含在我自己的repo中(作为git子模块). 我试过了: git submodule add https://github.com/bancek/sbt-scrooge.git project/sbt-scrooge 并补[详细]
-
映射Scala中的子列表
所属栏目:[安全] 日期:2020-12-16 热度:143
我知道map函数接受列表的每个元素(一个序列)并将一个函数应用于它.递归(并且不考虑终止条件等) map(s,f) = f(s.head) :: map(s.tail,f) 我正在寻找一个像这样的功能 foo(s,f) = f(s) :: map(s.tail,f). 所以’mapper’是在子列表而不是单个元素上调用映射函[详细]
-
scala – body:=> Play框架中的Html?
所属栏目:[安全] 日期:2020-12-16 热度:73
我刚开始使用Play框架和 Scala.身体是什么:= Html意味着在Play框架中?谢谢. 解决方法 它是按名称调用参数 http://ofps.oreilly.com/titles/9780596155957/FunctionalProgramming.html#_call_by_name_call_by_value[详细]
-
谁能解释这个scala代码的含义
所属栏目:[安全] 日期:2020-12-16 热度:170
我正在阅读这段代码很长一段时间.我把它键入REPL,它也可以. 但我不知道这里发生了什么.为什么以及如何工作! import shapeless._case class Size[L : HList](get : Int)object Size { implicit val hnilSize = Size[HNil](0) implicit def hconsSize[H,T : H[详细]
-
使用Scalas动态类型的动态代理
所属栏目:[安全] 日期:2020-12-16 热度:127
是否可以使用 Scalas新的动态类型功能创建类似拦截器的AOP?例如:是否可以创建一个通用的秒表拦截器,它可以与任意类型混合以分析我的代码?或者我还需要使用AspectJ吗? 解决方法 我非常肯定Dynamic只在您选择的对象尚未拥有您选择的内容时使用: 从nightly[详细]
-
scala – 在定义路由指令时是否可以使用隐式参数?
所属栏目:[安全] 日期:2020-12-16 热度:54
我有一个指令,定义为 def allowedRoles(roles: UserRole*)(implicit login: Login): Directive0 = ??? 但我似乎无法在不必明确传入login参数的情况下使用它 def myRoutes(implicit req: HttpRequest,login: Login) = { path("example" / "path") { get { all[详细]
-
Scala的Stream和StackOverflowError
所属栏目:[安全] 日期:2020-12-16 热度:84
考虑一下这段代码(取自Martin Odersky的“ Functional programming principles in Scala”课程): def sieve(s: Stream[Int]): Stream[Int] = { s.head #:: sieve(s.tail.filter(_ % s.head != 0))}val primes = sieve(Stream.from(2))primes.take(1000).toL[详细]
-
scala – Seq [A]如何在A中协变?
所属栏目:[安全] 日期:2020-12-16 热度:64
如果A出现在逆变位置,Seq [A]如何在A中是协变的: def :+ (elem: A) : Seq[A] ? 据我所知,方法参数类型是逆变位置.我错过了什么? 解决方法 这是用例签名.它不是真正的签名,只是您在常见用例中通常会看到的内容. 真正的签名是: def :+ [B : A,That] ( elem[详细]