-
scala case类equals(==)未按预期工作
所属栏目:[安全] 日期:2020-12-16 热度:63
我必须在这里遗漏一些愚蠢的东西.我有这个: case class Color(val rgb:Int) { private val c = rgb - 0xff000000 val r = (c 0xff0000) 16 val g = (c 0x00ff00) 8 val b = (c 0x0000ff)}case object Red extends Color(0xffff0000)case object Green exten[详细]
-
Scala – 最简单的2D图形,只需将2D数组写入屏幕即可?
所属栏目:[安全] 日期:2020-12-16 热度:130
您建议将2D像素阵列写入屏幕? 我的第一个想法是一些SWT绑定,但还有其他吗?处理也许? 解决方法 在Swing中不是太难 – 你可以剪切并粘贴下面的内容.如果您不想要颜色或绘制到任何大小窗口的能力,或者它总是相同的大小,您可以简化它. 定义Panel类: class Da[详细]
-
Scala特征和隐式转换混淆
所属栏目:[安全] 日期:2020-12-16 热度:168
当我在 Scala REPL(2.7.7)上手动输入时,以下行有效: trait myTrait { override def toString = "something"}implicit def myTraitToString(input: myTrait): String = input.toStringobject myObject extends myTraitval s: String = myObject 但是,如果我[详细]
-
scala类型推断与_占位符
所属栏目:[安全] 日期:2020-12-16 热度:145
List("This","is","Scala").foreach(a = print(a+" ")) 编译好,但是 List("This","Scala").foreach(print(_+" ")) 没有抱怨缺少参数类型.我无法弄清楚它失败的原因. 编辑:我的意思是打印不打印 – 不是它有逻辑的区别. 解决方法 问题是这个 List("This","Sc[详细]
-
Scala:实现Numeric的子类型[T]
所属栏目:[安全] 日期:2020-12-16 热度:105
如何实现Numeric [T]的子类型? 我一直在寻找这方面的指南,但没有找到任何. 子类型的例子可能是Rational还是Complex? 提前致谢 特勒尔斯 解决方法 绝对无用的字符串数字: trait StringIsNumeric extends Numeric[String] { def plus(x: String,y: String):[详细]
-
scala – 从Spark读取String数组
所属栏目:[安全] 日期:2020-12-16 热度:174
我将一个Array [String]保存到Spark的Parquet文件中. 为了阅读它,我使用: row.getAs[Array[String]]("result") 但得到: java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be cast to [Ljava.lang.String; 这是printSche[详细]
-
如何编译Scala Hello World应用程序
所属栏目:[安全] 日期:2020-12-16 热度:173
我是 Scala的新手,我之前从未编写或编译过程序.我正在尝试简单地运行以下Hello World示例,我将其保存在文件名scalaApp.scala中 object scalaApp extends App { def main(args: Array[String]) { println("Hello,world!") }} 当我在文件目录中的终端并键入“s[详细]
-
scala – 如何生成元组集的传递闭包?
所属栏目:[安全] 日期:2020-12-16 热度:86
生成一组元组的传递闭包的最佳方法是什么? 例: 输入集((1,2),(2,3),(3,4),(5,0)) 输出设置((1,(1,0)) 解决方法 //one transitive stepdef addTransitive[A,B](s: Set[(A,B)]) = { s ++ (for ((x1,y1) - s; (x2,y2) - s if y1 == x2) yield (x1,y2))}//repe[详细]
-
Scala中的多个flatMaps
所属栏目:[安全] 日期:2020-12-16 热度:101
而不是xs map f map g,写xs map {x = g(f(x))},类似地用于多个过滤操作. 如果我连续有两个或更多个flatMaps,有没有办法将它们组合成一个,这可能更有效?例如 def f(x: String) = Set(x,x.reverse)def g(x: String) = Set(x,x.toUpperCase)Set("hi","bye") fl[详细]
-
数组 – 在scala中令人难以置信的隐式数组转换
所属栏目:[安全] 日期:2020-12-16 热度:99
根据 Scaladoc,在Array类中没有名为map的方法,但是有一个隐式函数隐式def intArrayOps(xs:Array [Int]):在scala.Predef中定义的ArrayOps [Int].因此,如果您愿意,可以在Array(1,2,3,4)上应用map.但令我困惑的是,地图结果是Array [Int]类型,而不是ArrayOps [[详细]
-
scala – 通过Spark阅读保存在文件夹中的所有Parquet文件
所属栏目:[安全] 日期:2020-12-16 热度:84
我有一个包含Parquet文件的文件夹.像这样的东西: scala val df = sc.parallelize(List(1,2,3,4)).toDF()df: org.apache.spark.sql.DataFrame = [value: int]scala df.write.parquet("/tmp/test/df/1.parquet")scala val df = sc.parallelize(List(5,6,7,8))[详细]
-
scala – 当主管重新启动关联的Actor时,是否更新了ActorRef?
所属栏目:[安全] 日期:2020-12-16 热度:97
如果我像这样创建一个日志记录演员 val logger: ActorRef = actorSystem.actorOf(Props(new Logger())) 并且记录器由于异常而重新启动,我的记录器停止写入磁盘. 我一直在发送消息记录器!味精 假设当主管重新启动我的日志记录演员时,ActorRef没有更新,我是否[详细]
-
scala元组类型组成
所属栏目:[安全] 日期:2020-12-16 热度:141
给定一个元组类型 type T = (String,Int,String) 有什么方法可以得到一个类型T1,其中T1将是 type T1 = (MyClass,String,String) 我希望能够宣布一个类似的课程 class TupleTypes[T] extends AnotherClass[T1] 注意:元组大小未知且 type T1 = (MyClass,T) 不[详细]
-
function – scala foreach和map initializers
所属栏目:[安全] 日期:2020-12-16 热度:147
刚刚看到一个有趣的可能性,在 Scala中为高阶函数(如foreach或map)初始化代码块: (1 to 3) map { val t = 5 i = i * 5}(1 to 3) foreach { val line = Console.readLine i = println(line) } 这是一些记录的功能还是我应该避免这样的结构?我可以想象,“初始[详细]
-
将列表[尝试[A]]转换为Scala中的列表[A]
所属栏目:[安全] 日期:2020-12-16 热度:78
我想过滤掉输入数据中的错误输入.我目前正在使用 scala.util.Try来包装任何异常.以下是一个简单的示例,其中3I抛出NumberFormatException.我想知道在 Scala中是否有更好的方法可以做到这一点? val data = List ( ("Joe","20"),("James","30"),("Pete","3I")[详细]
-
scala – 存在类型的惯用语替换
所属栏目:[安全] 日期:2020-12-16 热度:60
我有一些使用存在类型的 Scala代码,我正在升级到2.10,我注意到有关添加“import language.existentials”的警告,这让我觉得应该有更好的方法来编写它.我的代码归结为: class A { private var values = Set.empty[(Class[_],String)] def add(klass: Class[_[详细]
-
Scala死锁与并行集合
所属栏目:[安全] 日期:2020-12-16 热度:139
为什么以下代码会造成死锁: object Test extends Application{ def printProgress(i:Int) = { println("Processed " + i) } println("A") (1 to 1000).par.foreach{ i = printProgress(i) } println("B")} (即打印A,但不打印B或任何已处理的……行.) 但是,[详细]
-
scala – 在case类中重命名和覆盖equals方法
所属栏目:[安全] 日期:2020-12-16 热度:60
我想定义一个名为Ext的特性,它将现有的equals方法重命名为equalsByAttributes,并同时定义一个新的equals方法.使用的特征 扩展案例类.我目前的解决方案看起来有点hacky: case class A(id: Int) extends Exttrait Ext { p: Product = // new implementation o[详细]
-
scala – 冲突的嵌套继承特征
所属栏目:[安全] 日期:2020-12-16 热度:54
假设我有以下代码: trait Trait1 { trait Inner { val name = "Inner1" }}trait Trait2 { trait Inner { val name = "Inner2" }}class Foo extends Trait1 with Trait2 { // I want Concrete1 to be a Trait1.Inner not a Trait2.Inner class Concrete1 ext[详细]
-
scala中的Brainfuck编译器
所属栏目:[安全] 日期:2020-12-16 热度:109
想要练习一些领域特定语言(DSL),首先想法是编写 Brainfuck的解释器或编译器. 第一个想法是覆盖函数,例如它们将表现为Brainfuck命令:“”,“”,“”,“ - ”,“.”,“,”[“,”]“.不幸的是,你不能将decalare功能称为“.”. 在Scala中编写它有更好的解决方案[详细]
-
Scala捕获对象引用,同时仍使用提取器
所属栏目:[安全] 日期:2020-12-16 热度:129
有没有办法做到这一点: // I'm using akka,perhaps there's a magic variable inside receive I can usedef receive = { case Message(channel,data,sender) = { // do stuff with channel,sender // Oops,I want to reuse message,so I have to build a ne[详细]
-
database – 如何在scala slick 3中实现枚举?
所属栏目:[安全] 日期:2020-12-16 热度:196
这个问题已被提出并回答了光滑的1和2,但答案似乎对光滑3无效. 试图在How to use Enums in Scala Slick?中使用该模式, object MyEnumMapper { val string_enum_mapping:Map[String,MyEnum] = Map( "a" - MyEnumA,"b" - MyEnumB,"c" - MyEnumC ) val enum_stri[详细]
-
Scala – 将特征与其进口混合(继承进口)
所属栏目:[安全] 日期:2020-12-16 热度:181
我有以下代码: trait A { import org.somepackage.C._}class B extends A { def getValue = value ^^^^^}object C { var value = 5} B类中的值是不可见的,这意味着A类的固有导入不是由B继承的,尽管该值在A内是完全可见的.如何实现继承导入的效果,这样我就可[详细]
-
scala – 是否可以从PriorityQueue中删除元素?
所属栏目:[安全] 日期:2020-12-16 热度:106
是否可以从PriorityQueue中删除元素? 文档: http://www.scala-lang.org/api/current/index.html#scala.collection.mutable.PriorityQueue http://www.scala-lang.org/api/current/index.html#scala.collection.Iterator 我有一个PQ w各种双值(一些重复) –[详细]
-
scala spark中的RDD过滤器
所属栏目:[安全] 日期:2020-12-16 热度:194
我有一个数据集,我想提取那些(审查/文本)在x和y之间有(审查/时间),例如(1183334400 time 1185926400),这是我数据的一部分: product/productId: B000278ADAproduct/title: Jobst Ultrasheer 15-20 Knee-High Silky Beige Largeproduct/price: 46.34review/us[详细]