-
Scala-Unit7-Scala并发编程模型AKKA
所属栏目:[安全] 日期:2020-12-16 热度:93
一、Akka简介 Akka时spark的底层通信框架,Hadoop的底层通信框架时rpc。 并发的程序编写很难,但是Akka解决了spark的这个问题。 Akka构建在JVM平台上,是一种高并发、分布式、并且容错的应用工具包; Akka使用Scala语言编写,同时它提供了Scala和Java的开发[详细]
-
在Scala中使用枚举作为键创建Map的语法是什么?
所属栏目:[安全] 日期:2020-12-16 热度:100
请看下面的代码. Eclipse将此行标记为不正确: var map = Map[MyEnum,Point]() 我试图做scala相当于Java: private enum Letters{ A,B,C}private MapLetters,Integer thing= new HashMapLetters,Integer (); 这是写入它的文件/上下文. class Point(var x:Int[详细]
-
scala – 如何在列表中找到成绩最好的学生?
所属栏目:[安全] 日期:2020-12-16 热度:191
假设,我有一份学生名单.学生有姓名,出生日期,年级等字段.您如何找到 Scala中成绩最好的学生? 例如: List(Student("Mike","A"),Student("Pete","B"),Student("Paul",A))" ? 我想得到 List(Student("Mike",A)) 显然,我可以找到最高等级(上面列表中的“A”)然[详细]
-
Scala:如何在var中“存储”一个函数?
所属栏目:[安全] 日期:2020-12-16 热度:163
我正在学习 Scala,我正在尝试将函数存储在var中以便稍后对其进行评估: var action:() = Any = () = {}def setAction(act: = Any) { action = act } 但那不编译: error: type mismatch; found: Any required: () = Any action = act 所以在我看来,在action[详细]
-
Lazily在Scala中合并选项
所属栏目:[安全] 日期:2020-12-16 热度:166
我有几种计算价值的方法,优先级递减. firstWay()second() + way()orA(thirdWay()) 其中每个都返回一个选项.我想“合并”这些并获得一个选项,其中第一个返回的值中的一些,如果全部返回None,则返回None. 当然,如果firstWay()返回Some,我不应该计算其余的. 什么[详细]
-
scala – Actors中期货的执行上下文
所属栏目:[安全] 日期:2020-12-16 热度:64
我有一个Actor,在某些消息上我正在运行一些返回Future的方法. def receive: Receive = { case SimpleMessge() = val futData:Future[Int] = ... futData.map { data = ... }} 是否有可能通过实际上下文来等待这些数据?或者,如果我在SimpleMessage中需要这些[详细]
-
Scala:反射和案例类
所属栏目:[安全] 日期:2020-12-16 热度:187
以下代码成功,但有更好的方法做同样的事情吗?案例类可能是特定的东西吗?在下面的代码中,对于我的简单案例类中String类型的每个字段,代码遍历我的案例类的实例列表,并查找该字段的最长字符串的长度. case class CrmContractorRow( id: Long,bankCharges: St[详细]
-
scala – 编译后从类路径中删除条目
所属栏目:[安全] 日期:2020-12-16 热度:133
我有一个依赖于jar项目的遗留战争项目,jar项目需要在类路径中添加一些非托管jar进行编译.但这些罐子不应该包装在战争中.所以我的问题是如何从fullClasspath中删除这些条目.以下内容不起作用: val excludeFilter = "(servlet-api.jar)|(gwt-dev.jar)|(gwt-us[详细]
-
如何在scala中编写元组范围函数?
所属栏目:[安全] 日期:2020-12-16 热度:187
我想要跟随功能 范围((1,1),(2,2))返回 Seq[(Int,Int)]((1,(1,2),2)) 它是一维范围的模拟,1到2 该函数应该适用于任何scala元组(即Tuple2,Tuple3,Tuple4,…)并且是类型安全的. 我试过了 def tupleRange[T : Product](t1:T,t2:T):Seq[T] = { assert(t1.product[详细]
-
scalaquery问题没有隐式会话
所属栏目:[安全] 日期:2020-12-16 热度:70
这是我要执行的 scalaquery查询, ...def generateFares(scheduleId:NamedColumn[Int],toCityId:NamedColumn[Int],fromCityId:NamedColumn[Int]):List[(String,Int,String)] = { var list:List[(String,String)] = Nil; val q = for { tf - ticketingDB.ticke[详细]
-
scala – 根据类型类添加有效性检查(可选含义)
所属栏目:[安全] 日期:2020-12-16 热度:153
在 scala中,我们可以使用隐式类型类有条件地将方法添加到依赖于该类型参数的参数化类型上.例如,Iterator.sum: def sum[B : A](implicit num: Numeric[B]): B = foldLeft(num.zero)(num.plus) 必须有一个Numeric类型类的实例才能调用此方法: scala List(1,2[详细]
-
类似的Try块在scala中尝试/ finally块
所属栏目:[安全] 日期:2020-12-16 热度:119
什么是 scala方式的类似尝试: timer.start()try { doThis()} finally { timer.cancel()} 解决方法 鉴于Try内部的异常只是创建一个Failure值(而不是在使用try时将控制转移到外部catch块),原始finally块中的代码只需要在Try之后执行. 换句话说,这将做: timer[详细]
-
在Scala中编写论坛是否有意义?
所属栏目:[安全] 日期:2020-12-16 热度:144
我正在寻找一个有意义的任务来学习 Scala(最后可以使用的东西而不仅仅是编程练习),我还必须建立一个论坛,我不想学习 PHP …所以我’我正考虑在Scala中实现一个开源论坛. 但这有意义吗?论坛没有高性能或可扩展性要求……而且Java Hosting也更昂贵,所以即使我[详细]
-
scala – Spark SQL:来自csv的自动模式
所属栏目:[安全] 日期:2020-12-16 热度:132
spark sql是否提供了自动加载csv数据的方法? 我找到了以下Jira: https://issues.apache.org/jira/browse/SPARK-2360但它已关闭…. 目前我将加载一个csv文件,如下所示: case class Record(id: String,val1: String,val2: String,....) sc.textFile("Data.c[详细]
-
scala – 奇怪的并行收集行为
所属栏目:[安全] 日期:2020-12-16 热度:57
我正在尝试使用 scala并行集合来实现一些cpu密集型 任务,我想抽象出算法的执行方式 (顺序,并行或甚至分布),但代码不能像我一样工作 会怀疑,我不知道我做错了什么. 我想抽象出这个问题的方式如下: // just measures time a block of code runsdef time(block[详细]
-
scala – 操纵元组
所属栏目:[安全] 日期:2020-12-16 热度:93
有没有办法在不使用临时变量和启动新语句的情况下操作元组的多个值? 假设我有一个返回元组的方法,我想用内联这些值做一些事情. 例如如果我想在某个点拆分一个字符串并反转这些部分 def backToFront(s: String,n:Int) = s.splitAt(n)... 我可以 val (a,b) =[详细]
-
Scala中的有界泛型(如Java)
所属栏目:[安全] 日期:2020-12-16 热度:189
我正在将应用程序从 java迁移到 Scala. 在java中我有点喜欢 abstract class CommonObjectInfo{//...}class ConcreteObject extends CommonObjectInfo{//...}abstract class AbstractWrapperE extends CommonObjectInfo{//...} class ConcreteWrapper extends[详细]
-
Scala中`null == last`和`null eq last`之间有什么区别?
所属栏目:[安全] 日期:2020-12-16 热度:161
我在 scala 2.7.7的内置类MessageQueue.scala中看到,在第164行附近,它是: def extractFirst(p: Any = Boolean): MessageQueueElement = {changeSize(-1) // assume size decreases by 1val msg = if (null eq last) nullelse { ... }} 我不明白val msg = if[详细]
-
Scala参数模式(喷涂路由示例)
所属栏目:[安全] 日期:2020-12-16 热度:118
抱歉模糊的标题…不知道如何表征这一点. 我已经在Scala中看到/使用过某种代码构造已有一段时间了,但我不知道它是如何工作的.它看起来像这样(来自Spray路由的示例): path( "foo" / Segment / Segment ) { (a,b) = { // -- What's this style with a,b?...}}[详细]
-
在Scala中约束更高层次的类型
所属栏目:[安全] 日期:2020-12-16 热度:148
说我有更高的kinded类型 SuperMap[Key[_],Value[_]]`. 现在假设我有一些更具体的东西,要求Key的type参数必须与Value匹配;就是这样的: SuperDuperMap[T,Key[T],Value[T]] 进一步假设我不想要任何T,而是一个非常具体的T,其中T:OtherT SuperDuperPooperMap[T[详细]
-
scala – 如何在没有匹配器的情况下跳过specs2中的测试?
所属栏目:[安全] 日期:2020-12-16 热度:87
我试图在 scala中使用specs2测试一些db依赖的东西.目标是测试“db running”然后执行测试.我发现如果数据库关闭,我可以使用Matcher类中的orSkip. 问题是,我正在获得一个匹配条件的输出(作为PASSED),并且示例被标记为SKIPPED.我想要的是:只有在测试数据库脱[详细]
-
scala – 如何在Spark中的每一行添加源文件名?
所属栏目:[安全] 日期:2020-12-16 热度:117
我是Spark的新手,我正在尝试使用它来自的文件名向每个输入行插入一列. 我见过其他人问了一个类似的问题,但他们所有的答案都使用了整个文本文件,但是我正在尝试为更大的CSV文件(使用Spark-CSV库读取),JSON文件和Parquet文件(不仅仅是小文本)执行此操作文件).[详细]
-
列出Scala中重复的组合
所属栏目:[安全] 日期:2020-12-16 热度:182
试着学习一点 Scala并遇到这个问题.我找到了一个没有重复的所有组合的解决方案 here,我有点理解它背后的想法,但是一些语法让我搞砸了.我也不认为该解决方案适用于重复的情况.我想知道是否有人可以建议我可以使用的一些代码.我有很多关于组合学的材料,并且理[详细]
-
使用scala在classpath下读取属性文件
所属栏目:[安全] 日期:2020-12-16 热度:100
我试图使用 scala从classpath读取属性文件.但它看起来不起作用,它与 java不同.以下2个代码片段,一个是java(工作),另一个是scala(不工作).我不明白有什么区别. // workingBufferedReader reader = new BufferedReader(new InputStreamReader(Test.class.getRe[详细]
-
scala – sbt 0.12.4 – 有x特征警告;重新运行-feature以获取详
所属栏目:[安全] 日期:2020-12-16 热度:78
我收到一个错误,有15个功能警告;使用-feature重新运行以获取详细信息: $/usr/local/sbt/bin/sbt[info] Loading project definition from /home/alex/Documents/projects/my_app123/project[info] Set current project to sbt-android (in build file:/home/[详细]