-
如何禁用ScalaTest中的测试套件
所属栏目:[安全] 日期:2020-12-16 热度:86
如何禁用测试套件,即扩展FunSpec类内的所有测试? 我发现唯一的解决方案是在每个测试前面用ignore替换它,但是通过数十个测试来做这个很无聊. 解决方法 在1.8中这样做的简单方法是添加一个构造函数,它接受一个虚拟参数.如果没有public,no-arg构造函数,ScalaTe[详细]
-
可能有一段时间的循环与scala中的产量一起使用
所属栏目:[安全] 日期:2020-12-16 热度:135
以下是 scala中for / yield的标准格式:通知它期望一个集合 – 其元素驱动迭代. for (blah - blahs) yield someThingDependentOnBlah 我有一个情况,一个循环中将发生不确定的迭代次数.内循环逻辑确定将执行多少个. while (condition) { some logic that affe[详细]
-
如何测试Scala中较高类型的类型一致性
所属栏目:[安全] 日期:2020-12-16 热度:117
我试图测试两个“容器”是否使用相同的高级类型.看下面的代码: import scala.reflect.runtime.universe._class Funct[A[_],B]class Foo[A : TypeTag](x: A) { def test[B[_]](implicit wt: WeakTypeTag[B[_]]) = println(typeOf[A] : weakTypeOf[Funct[B,_][详细]
-
如何使测试总是按照Scalatest中的顺序运行?
所属栏目:[安全] 日期:2020-12-16 热度:81
我们在 ScalaTest中使用Spec trait进行测试.当我们运行整个套件时,并不总是以相同的顺序运行. google中的大多数答案建议定义一个Suite并指定所有的测试名称.但这需要我们在每次添加新测试时添加测试名称. 是否可以使用DiscoverySuite本身并定义测试执行顺序[详细]
-
scala – 如何从运行时参数指定SLICK Query sortBy列?
所属栏目:[安全] 日期:2020-12-16 热度:111
我有以下SLICK查询来获取数据表的分页结果,其名称字段匹配某些值标准,并按名称列排序 val q = ThirdParties.where(_.name like criteria).sortBy(_.name.asc.nullsLast).drop(offset).take(pageSize)val thirdParties = (for(s -q) yield(s)).list map { cas[详细]
-
播放2 Scala – 用Iteratee上传大型CSV文件以反应性处理每一行的
所属栏目:[安全] 日期:2020-12-16 热度:173
我想使用Play2在弹性搜索上上传非常大的CSV文件(数百行).我写了以下代码,工作正常. 我不满意我在第一个组块中跳过http响应头的方式.应该有一种方式来链接这个迭代,第一个迭代器跳过http头并直接切换到完成状态,但是我还没有找到. 如果有人可以帮忙 object Re[详细]
-
Scala的groupBy身份如何工作?
所属栏目:[安全] 日期:2020-12-16 热度:119
我正在浏览,发现一个关于将字符串分组为一个字符的问题,例如: 输入: "aaabbbccccdd" 将产生以下输出: "aaa""bbb""cccc""ddd" 我发现这个建议: val str = "aaabbbccccdd"[val list = str.groupBy(identity).toList.sortBy(_._1).map(_._2) 而这个身份证件[详细]
-
丢失在Scala收藏的继承图中
所属栏目:[安全] 日期:2020-12-16 热度:148
今天我想了解列表的超类型: sealed abstract class List[+A] extends AbstractSeq[A] with LinearSeq[A] with Product with GenericTraversableTemplate[A,List] with LinearSeqOptimized[A,List[A]] 哇,所以List已经有五个直接的超类型了.我们随便挑一个:[详细]
-
【scala】2.控制结构和函数
所属栏目:[安全] 日期:2020-12-16 热度:77
简介 在Java或者C++中,我们把表达式和语句看做两种不同的东西。表达式有值,而语句执行动作。 在Scala中,几乎所有构造出来的语法结构都是有值的。这个特性使得程序更加的精简,也更易读。 1、条件表达式 scala val x = 1 x: Int = 1 scala val res = if(x[详细]
-
Scala是否具有少量底层语法特征?
所属栏目:[安全] 日期:2020-12-16 热度:145
Scala是一种有趣的语言,声称简洁,可扩展(通过在库中指定许多功能而不是编译器),并支持DSL. 为了实现这一点,它有很多运算符和编译器调整(例如,支持中缀运算符,例如:_ *来展开序列). 我发现许多操作符(“Scala”编程指南中的2?页)和编译器调整混乱.公平地说,[详细]
-
如何测试Akka演员是在Scala创建的
所属栏目:[安全] 日期:2020-12-16 热度:134
我试图写一个测试,将验证我的下面的演员是创建一个heartBeatExpireWorker和一个heartBeatAcceptpter,但我不知道如何做到这一点. 首先我想我可以使用Mockhito模拟或间谍代替上下文,然后验证我调用了actorOf,但是我无法弄清楚注入上下文的方法,而不会破坏Akka[详细]
-
如何对Scala和Play Framework中的SHA-1哈希进行base64编码?
所属栏目:[安全] 日期:2020-12-16 热度:175
我想使用Play Framework在 Scala中base64编码生成的SHA-1哈希. 这在Scala中对我有用: val md = java.security.MessageDigest.getInstance("SHA-1");println(new sun.misc.BASE64Encoder().encode(md.digest("Foo".getBytes))) 但是在Play Framework中,我收[详细]
-
类型别名函数类型的隐式转换类在Scala中无法编译
所属栏目:[安全] 日期:2020-12-16 热度:186
在 scala中,以下代码正确编译: class a {}class b {}object Main { implicit class Conv[f,t](val v: f ? t) extends AnyVal { def conv = v } def main(args: Array[String]) { val m = (a: a) ? new b m.conv }} 但由于某些原因,以下无法编译: class a {[详细]
-
如何在Scala中匹配嵌套类?
所属栏目:[安全] 日期:2020-12-16 热度:185
我试过下面的代码(相同的方法写在 Programming in Scala书之后) class Person() { class Room(r: Int,c: Int) { val row = r val col = c override def hashCode: Int = 41 * ( 41 + row.hashCode ) + col.hashCode override def equals(other: Any) = other[详细]
-
在Scala中推断相互依赖的默认方法实现
所属栏目:[安全] 日期:2020-12-16 热度:89
我想定义一个具有很好定义关系的属性的特征 – 例如,我们假设a * b = c.这个想法是,该特征的实现可以提供其中的两个,并具有自动导出的第三个属性的访问器. (这与Haskell的类型类相同,如果我正确地记得那些,那么如果你定义了 from Ord, =将被实现为!. - 尽管[详细]
-
将数组转换为Scala中的可变集?
所属栏目:[安全] 日期:2020-12-16 热度:124
如何将 Scala数组转换为mutable.Set?很容易转换成不可变的 Array(1,2,3).toSet 但是我找不到一个明显的方法来转换成mutable.Set. 解决方法 scala scala.collection.mutable.Set( Array(1,2) :_* )res2: scala.collection.mutable.Set[Int] = Set(2,1) 奇怪[详细]
-
Scala专门化用于原始类型的数值运算
所属栏目:[安全] 日期:2020-12-16 热度:193
我写了一个简单的数学函数: def clamp(num: Double,min: Double,max: Double) = if (num min) min else if (num max) max else num 这很简单,直到我需要与Long类型相同的功能.我用类型参数和专业化来概括它: import Ordering.Implicits._def clamp[@specia[详细]
-
scala – 使用SBT,如何使用不同的设置进行两个不同的proguard任
所属栏目:[安全] 日期:2020-12-16 热度:195
我有一个单一的源树,我可以从中构建两个不同的罐子;称他们为JarA和JarB. 我正在使用sbt proguard plugin通过proguard运行每个jar.此插件创建一个名为proguard的任务键. 我想制作两个任务键,比如proguardA和proguardB,它们构建了各自的罐子.我在project / Bui[详细]
-
scala – akka multi-jvm测试必须明确运行
所属栏目:[安全] 日期:2020-12-16 热度:151
当使用sbt“multi-jvm:test”命令时,sbt报告没有要运行的测试.但是,如果我明确地运行测试,例如“multi-jvm:run package.testName”然后它们运行正常. 我正在使用{TestName} MultiJvm {NodeName}的默认约定,以及src / multi-jvm / scala的默认路径 编辑:[详细]
-
作为scala工厂的伴侣对象
所属栏目:[安全] 日期:2020-12-16 热度:123
我刚刚开始使用 Scala,并开始学习一些教程.我遇到了伴侣对象,并将它们用作工厂.我尝试了几件事.但是,我没有得到以下工作正常.不能让我的头围绕它.. import math._abstract class Point{ // ...}object Point{ private class PointInt(val x:Int,val y:Int) e[详细]
-
scala – 播放Iteratees:简单文件迭代的错误
所属栏目:[安全] 日期:2020-12-16 热度:121
我现在正试图围绕调查员和Iteratees的想法.我决定从看看Play 2.0的iteratee库开始,我已经在build.sbt文件中使用以下几行添加到我的测试项目中. (我使用的是 Scala 2.10)( docs here) resolvers += "Typesafe repository" at "http://repo.typesafe.com/types[详细]
-
Scala:高级类型作为类型参数
所属栏目:[安全] 日期:2020-12-16 热度:91
请考虑以下代码段(它演示了我实际问题的简化版本): trait Id[Type[_]] { def id[S]: S = Type[S]}trait IdTransformer[Type[_]] { type Result[_] // depends of Type def idTransform[P]: P = Result[P] def composeWith[Other[_]](other: Id[Other]) = ne[详细]
-
scala – 在可堆叠特征模式中覆盖抽象类型成员
所属栏目:[安全] 日期:2020-12-16 热度:193
假设我们想要定义如何在某些数据上累积结果的方法: case class Data(x: Int,y: Int) 我们定义了一个特征: trait Accumulator { type R def add(acc: R,d: Data): R def zero: R} 一个简单的实现: trait XAccumulator extends Accumulator { type R = Int[详细]
-
Neo4j – Cypher vs Scala-Neo4j API
所属栏目:[安全] 日期:2020-12-16 热度:133
对 Scala和Neo4j都是新手.我想在我的Scala项目中使用Neo4j.在Cypher查询和Scala-Neo4j API中使用它的哪种方法更好? 解决方法 我想说Cypher是与Neo4j交互的最简单,最好的文档和声明方式.我只会出于以下原因切换到scala / java API: 缺少必要的遍历功能(如果[详细]
-
scala – 无法覆盖java.lang.String字段.怎么了?
所属栏目:[安全] 日期:2020-12-16 热度:131
我试图编译包含的代码 class FixedIndexedRepository(override val name: java.lang.String,location: URI) extends FixedIndexedRepo 其中扩展了FixedIndexedRepo,它扩展了Java类AbstractIndexedRepo public abstract class AbstractIndexedRepo implements[详细]