-
为什么Scala中的Array.map的定义是“抛出新的Error()”
所属栏目:[安全] 日期:2020-12-16 热度:96
Array地图的源代码是: override def map[B](f: A = B): Array[B] = throw new Error() 但以下作品: val name : Array[String]= new Array(1)name(0)="Oscar"val x = name.map { ( s: String ) = s.toUpperCase }// returns: x: Array[java.lang.String] =[详细]
-
Scala用于理解/循环和类型化模式
所属栏目:[安全] 日期:2020-12-16 热度:175
根据 Scala语言规范的第6.19节,这个for循环: for (e -p) e' 被翻译成: p - e.withFilter{case p = true; case _ = false}.foreach{case p = e′} 那么,为什么这个小程序: object ForAndPatterns extends App { class A() class B() extends A val list: L[详细]
-
Scala,Actors,未读收件箱邮件会发生什么?
所属栏目:[安全] 日期:2020-12-16 热度:81
Scala Actors中未读收件箱邮件会发生什么?例如两种情况:1.如果忘记为特殊消息实现反应案例:actor!NoReactCaseMessage2.如果消息过快:(timeOfProcessingMessage timeOfMessageComes) 如果发生第一种或第二种情况,它会堆叠在内存中吗? 编辑1有没有机制看[详细]
-
在Scala中隐含对象
所属栏目:[安全] 日期:2020-12-16 热度:136
我对Joshua Suareth的书 Scala中的“5.1.3隐式解决方案”中的描述感到困惑,第100页: Scala objects can’t have companion objects for implicits. Because of this,implicits associated with the object’s type,that are desired on the implicit scope[详细]
-
scala – 为什么这些类似的语句会产生不同类型的对象?
所属栏目:[安全] 日期:2020-12-16 热度:193
在“不耐烦的 Scala”一书中,作者提供了以下两个“for-comprehension”的例子: for (c - "Hello"; i - 0 to 1) yield (c + i).toChar // Yields "HIeflmlmop"for (i - 0 to 1; c - "Hello") yield (c + i).toChar// Yields Vector('H','e','l','o','I','f',[详细]
-
scala – 使用Akka Futures生成并行随机数
所属栏目:[安全] 日期:2020-12-16 热度:126
我正在编写一个使用Akka 2 Futures构建的CPU密集型应用程序.我目前不需要Actors,但我不是不愿意使用它们. 期货中包含的几个计算必须经常调用随机生成器.我担心如果我使用经典的并发RNG,它将成为一个窒息点,我将失去可扩展性. 在ExecutionContext中为每个线程[详细]
-
scala – 为什么确保只有其他工作?
所属栏目:[安全] 日期:2020-12-16 热度:88
在 scala中,当我使用确保predef时,它只适用于if-else表达式的else部分: def evenIt(x:Int) = { if(x % 2 == 0) x+1 //return odd on purpose! else{ x + 1 } ensuring( _ % 2 == 0)}//Test it:evenIt(3) 4evenIt(4) 5 //--- ensuring does not catch this![详细]
-
scala – 关于spark的DBSCAN:哪个实现
所属栏目:[安全] 日期:2020-12-16 热度:68
我想在Spark上做一些DBSCAN.我目前发现了2个实现: https://github.com/irvingc/dbscan-on-spark https://github.com/alitouka/spark_dbscan 我已经使用其github中给出的sbt配置测试了第一个但是: jar中的函数与doc或github上的源中的函数不同.例如,我在jar[详细]
-
如何在Scala中使用反射获取所有对象值和子对象值?
所属栏目:[安全] 日期:2020-12-16 热度:50
我有一个看起来像这样的对象: object Settings { final val Host = "host" final val Protocol = "protocol" object User { final val Name = "username" final val Password = "password" } object Subject { final val Query = "query" final val Predica[详细]
-
如何在Scala中转置包含列表值的地图
所属栏目:[安全] 日期:2020-12-16 热度:116
这张清单怎么样, Map ( "a" - List(1,2)) 是否主要使用Scala库中的方法转换为此映射列表? List( Map("a" - 1),Map("a" - 2)) 我可以自己编写解决方案,但我对使用库功能更感兴趣,因此首选解决方案应该尽可能使用Scala库,同时保持紧凑和中等清晰度. 第二个示[详细]
-
scala – 为什么FunctionN(0-22)ProductN(1-22)TupleN(1-22)?
所属栏目:[安全] 日期:2020-12-16 热度:155
api有FunctionN(0-22)ProductN(1-22)TupleN(1-22) 问题是: 1.为什么数字是22的结尾?为什么不是21或23? 2.为什么功能从0开始?但产品和元组不是? 解决方法 拥有不包含元素的Product或Tuple是没有意义的.这些将等同于单位. Function0的存在是因为函数不一[详细]
-
功能 – 这是成语Scala.制定def以缩短陈述?
所属栏目:[安全] 日期:2020-12-16 热度:102
我试图避免在参数列表中输入长句子. 这是一个习惯用 Scala存档的方式吗? def createRecaptchaHtml: String = { def config(s: String) = Play.current.configuration.getString(s).toString() ReCaptchaFactory.newReCaptcha(config("recaptcha.publicKey")[详细]
-
Scala:Redis客户端实现与Akka期货
所属栏目:[安全] 日期:2020-12-16 热度:60
我正在寻找 Scala的Redis客户端实现.使用Akka期货,客户端应该是异步和非阻塞的. 我发现或多或少有用: https://github.com/derekjw/fyrie-redis https://github.com/debasishg/scala-redis 但他们都有他们的问题.第一个使用旧版本的Akka,这导致编译问题,第二[详细]
-
在Scala中嵌入XML(和其他语言?)
所属栏目:[安全] 日期:2020-12-16 热度:199
我想知道如何实现 scala.xml库,以获取 XML中的Elem-instance. 所以我可以写: val xml = { myxml Some wired text withoud "'s or code like import x x.func() It's like a normal sting in triple-quotes. /myxml}xml.textString = " Some text wired with[详细]
-
scala – 为什么全局ExecutionContext不是未来块中的默认参数?
所属栏目:[安全] 日期:2020-12-16 热度:127
当您使用Futures或Actors响应编写一些高度并发的代码并且您手动导入ExecutionContext.Implicits.global时,这真的很烦人.试图找到一些很好的解释为什么它不作为默认参数,就像它在 Scalaz Concurrent中的 done一样.这将非常有用,而不是在代码中插入/删除所有这[详细]
-
为什么我可以使用Scala REPL中的Java库而不是脚本?
所属栏目:[安全] 日期:2020-12-16 热度:181
我正在使用一个使用Joda Time的 Scala脚本.直到今天,这个工作正常.某种程度上,某些事情发生了变化,而且不再有效. 这有效: $scala -cp "lib/*"Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM,Java 1.6.0_29).Type in expressions[详细]
-
Scala中类型参数的默认值
所属栏目:[安全] 日期:2020-12-16 热度:128
我无法弄清楚(如果有的话),您可以在 Scala中为类型参数设置默认值. 目前我有一个类似于此的方法: def getStage[T : Stage](key: String): T = { // Do fancy stuff that returns something} 但是我想做的是提供getStage的实现,它不会对T使用任何值,而是使用[详细]
-
scala – 实例化特征是什么意思?
所属栏目:[安全] 日期:2020-12-16 热度:155
我是 Scala的新人,在O’Reilly的“编程Scala”书中,作者展示了一些实例化特征的代码.鉴于这种特征有点类似于 Java中的接口(虽然我知道特征在字节码中被实现为类),实例化特征意味着什么,这样做是适当的用例/设计模式? 例如.: scala val x = new T1 with T2[详细]
-
Casbah Scala MongoDB驱动程序 – 嵌入式对象
所属栏目:[安全] 日期:2020-12-16 热度:76
我知道MongoDB中的对象可以包含多个级别的数据(就像 JSON对象的方式一样).但是,Casbah驱动程序教程仅涵盖“平面”对象的创建,其中只有一个级别的数据.如何使用Casbah创建和处理多级对象? 解决方法 它非常直观. 施工: val a: MongoDBOBject = DBObject("a"[详细]
-
将scala代码泛化为函数
所属栏目:[安全] 日期:2020-12-16 热度:191
所以我最近不小心为 Scala问题写了一个Haskell答案.相当熟悉Haskell,解决方案对我来说很容易: myMaxBy :: (a - a - Ordering) - [a] - [a]myMaxBy _ [] = undefinedmyMaxBy f (x:xs) = foldr step [x] xs where step y acc@(z:_) = case f y z of GT - [y][详细]
-
Scala未来序列和超时处理
所属栏目:[安全] 日期:2020-12-16 热度:151
如何结合期货 with timeouts有一些很好的提示. 但是我很好奇如何用Future sequence sequenceOfFutures做到这一点 我的第一种方法看起来像这样 import scala.concurrent._import scala.concurrent.duration._import scala.concurrent.ExecutionContext.Implic[详细]
-
scala – Spark中的takeSample()函数
所属栏目:[安全] 日期:2020-12-16 热度:160
我正在尝试在 Spark中使用takeSample()函数,参数是 – 数据,要采取的样本数和种子.但我不想使用种子.我想每次都有不同的答案.我无法弄明白我该怎么做.我尝试使用System.nanoTime作为种子值,但它给出了一个错误,因为我认为数据类型不匹配.是否有任何其他类似[详细]
-
为什么Scala的尾递归慢于Java?
所属栏目:[安全] 日期:2020-12-16 热度:192
使用尾递归进行简单加法的 Scala代码 def add(list : List[Int],sum:Int):Int = { //Thread.dumpStack() if (list.isEmpty) { sum } else { val headVal = list.head add(list.tail,sum + headVal) }} 下面是递归模式下添加的java代码. public static int ad[详细]
-
Scala中的位字段
所属栏目:[安全] 日期:2020-12-16 热度:185
如何在 Scala中模拟位字段?位字段用于访问一种类型的某些位(如C link中所示).我知道可以用位运算符编写,但我认为如果不考虑性能,有更好的方法. 感谢您提供的每一个提示. 解决方法 如果你只想要单个位,那么collection.BitSet将适合你. 如果你想要一个适当的[详细]
-
scala – Spark:通过键取得顶部的N
所属栏目:[安全] 日期:2020-12-16 热度:64
说我有一个PairRDD(显然,在现实生活中有更多的数据,承担数百万条记录): val scores = sc.parallelize(Array( ("a",1),("a",2),3),("b",4),2))) 每个键的前2个分数生成RDD最有效的方法是什么? val top2ByKey = ...res3: Array[(String,Int)] = Array((a,(a,[详细]