标签: Scala
lazy-evaluationfor-comprehension
在Python中,我可以执行以下操作:
lazy = ((i,j) for i in range(0,10000) for j in range(0,10000))
sum((1 for i in lazy))
这需要一段时间,但内存使用是恒定的
scala中的相同构造:
(for(i<-0 to 10000; j<-i+1 to 10000) yield (i,j)).count((a:(Int,Int)) => true)
(对于(i对于Scala的理解来说,没有什么是天生懒惰
在Scala/Play应用程序中,我必须使用数据库,但没有默认用户和密码,因为每个经过身份验证的应用程序用户都绑定到不同的DB用户。因此,我想在获取连接时指定用户名和密码,例如:
DB.withConnection(user = "James", password = "secret") { ... }
目前,我在文档中找不到这样的功能(老实说,我不知道如何为我的问题指定搜索查询)
还有一个问题:考虑到会话存储在用户端,在会话中存储用户密码是否安全?或者,当不同的DB用户使用应用程序时,这种情
有人能帮我理解Scala在集合API中的各种“相似”特性吗。我一直在仔细阅读,并试图在没有运气的情况下对它们进行比较。我想我可以看到地图,例如,它扩展了MapLike,添加了2个具体的方法。但这就引出了一个问题:为什么要这么做?为什么不在Collections API中使用1个Map特性,而不是Map和MapLike
谢谢大家! 这些详细信息的最佳来源是:
Scala集合库避免了代码重复,实现了
使用泛型构建器和遍历的“相同结果类型”原则
在所谓的实现特性中超过集合。这些特征
使用类似于后缀的命
我正在尝试制作自定义的异构列表和映射。虽然有一些使用清单的例子,但在Scala 2.10中,它们是不推荐使用的,我应该使用类型标签(或类标签)。在映射的情况下,我似乎可以使用(比如)元组字符串->(TypeTag[\u//println(“Get 2*'pi'=”+x*2)保留Any到类型的绑定,其中有编译器消息,“value*不是空的成员”。
我意识到我可以写得更紧凑,但这样做后,我可以在IDE中鼠标移动,一步一步地跟随。有一个相关的问题——但它似乎没有走到“最后一英里”——重新标记Any
如
标签: Scala
integration-testingspecs2
有没有更好的方法来设计一个测试,有很多测试依赖于以前测试的结果
在下面,您可以找到我当前的测试套件。我不喜欢测试片段之间的vars。不过,它们是“需要的”,因为有些测试会生成后续测试重用的ID号
我应该将ID号存储在Specs2上下文中,还是创建一个单独的对象来保存所有可变状态?并且只在规范对象中放置测试片段?还是有更好的方法
如果某个测试失败,我想取消相同深度的剩余测试。我可以使测试片段相互依赖吗?(我知道我可以取消单个测试片段中剩余的匹配器(通过使用可变测试,或通过orSkip),但是取消整
我只想将Akka actors用作邮箱,即我想创建n个线程,每个线程创建1个远程actor
每个线程获得对其他线程的所有远程参与者的引用,以便它们可以通过各自的参与者相互发送消息
参与者的定义如下:
case class Receive
case class GroupReceive(id: Symbol)
case class GroupMsg[T](id: Symbol, msg: T)
class FooParActor(val distributor: Distributor) exte
假设我有这样一个实体类:
case class MyEntity(some_flag: Boolean) extends KeyedEntity[Long]
我想使用Squeryl执行以下SQL更新:
update table_name set some_flag = not some_flag where id = 1
相关的Squeryl语句是什么?我已经试过了
def toggleFlag(id: Long) = inTransaction {
update(table)(en
我正在使用Scala slick来处理我的Mysql数据库
我正在使用scala.util.Try包装所有调用
我希望根据问题有不同的行为
如果数据库关闭,最终我希望我的webapp返回503
如果一个奇怪的查询进入我的数据库层,并且我的代码中有一个bug,那么我想返回一个500
在谷歌搜索之后,你似乎可以得到一系列不同的错误代码异常,我不确定该寻找什么
对于slick,我使用com.mysql.jdbc.driver
感谢Slick/MySQL将抛出MySQLSyntaxErrorExce
标签: Scala
delimited-continuations
我基本上是在遵循上节给出的示例。下面的代码可以正常工作:
导入scala.util.continuations_
导入scala.collection.mutable.HashMap
val sessions=新HashMap[Int,Int=>Unit]
def ask(提示:字符串):Int@cps[单位]=班次{
ret:(Int=>Unit)=>{
val id=sessions.size
printf(“%s\n与:submit(0x%x,…)\n一起提交”,提示,id)
会话+=id
标签: Scala
scala-dispatchasynchttpclient
从API接收Gzip响应,但Dispatch 0.9.5似乎没有任何方法来解码响应。有什么想法吗
这是我当前的实现,println只打印字节的字符串表示
Http(
host("stream.gnip.com")
.secure
.addHeader("Accept-Encoding", "gzip")
/ gnipUrl
> as.stream.Lines(println))()
试图实现我自己的处理程序,但不确定从哪
我有2个外键和同一个表,它解析到程序中,得到一个编译错误
问题是两个Id均为get null
模型类MyFriend&函数
case class MyFriend(id: Pk[Long]= NotAssigned,user_Id:Option[Long],friend_Id:Option[Long],is_accepted:Boolean)
object MyFriend{
/**
* parse a Myfreind from a ResultSet.
*/
val si
我有以下资料:
def calc(dir: File): Option[Group] = {
calcModel(dir) match {
case Some(model: Model) => calcUI(model, centerpane.getWidth, centerpane.getHeight, 5, MAX_LEVEL)
case None => None
}
}
def calcUI(model: Model, availabl
我试着看看是否可以为以下内容创建一个。
我有两个case类BoundingBoxFilter,它有两个位置s
case class Location(lat: Double, lon: Double) {
def isEmpty: Boolean = {
lat == 0.0 && lon == 0.0
}
}
case class BoundingBoxFilter(start: Location, end: Location) {
def isEmpty
我正在为我的学士学位论文构建一个小的actor应用程序,现在我正在尝试添加一些日志记录
对于actorsystem内部的日志记录,我想使用akka在后台提供的logback classic日志记录。
到目前为止,日志记录工作正常,但是当我在logback.xml中更改它时,actor系统内部的模式没有改变
有人知道如何通过slf4j和actorsystem内部的日志记录来改变全局模式吗
参与者系统外的日志输出:
2014-07-11 13:03:09 INFO model.AccessLaye
我似乎可以了解如何从原始sql查询返回列表[用户]
implicit val getUserResult = GetResult(r => User(r.nextInt, ....))
sql"""
select * from users where id =1
""".as[User]
这看起来编译得很好,但如果我将其更改为返回一个列表而不是一个结果,我会得到一个错误
.as[List[User]]
错误:
could not find implicit value for pa
标签: Scala
scala-collectionsscala-option
我想要这样的东西:
private val cachedResponse = mutable.Option.empty[A]
def get: A = cachedResponse getOrElseUpdate db.findModel()
def update: Unit = {
db.updateModel
cachedResponse.empty() // set it to None/Option.empty
}
我不是在寻找一个通用的基于HashMap的备忘录。我
我觉得如果scalapuzzler中还没有,那么它应该在scalapuzzler中出现,但是它看起来像是同时包含默认实例和在作为默认参数传递给其同伴之前被操纵的值的同伴对象,如果其中包含的值不是惰性的,那么它会导致NPE
我创建了一个要点,在要点中(以一种人为的方式)演示了这一点,但代码如下:
object Dummy {
val emptyDummy = Dummy()
val names: Seq[String] = Seq("Bob", "John", "Mary")
}
cas
这个问题的灵感来自于前面一篇关于同一主题的Stackoverflow文章中的一些评论,也来自于我正在编写的一些代码。考虑到其中包含的示例,我多少相信这种模式是尾部递归的。如果是这样的话,我如何减轻由于潜在线程从未加入派生它们的ForkJoinPool而导致的内存泄漏
import com.ning.http.client.AsyncHttpClientConfig.Builder
import play.api.libs.iteratee.Iteratee
import play.api.lib
标签: Scala
scala-collections
我有一份清单:
val list1 = List("male:Adam", "male:Peter", "female:Jane", "female:Sue", "female:Jo", "other:John")
我想创建两个列表,一个是女性姓名,一个是男性姓名。
i、 e:
我和你一起做的
val result = list1.groupBy(_.startsWith("male"))
因此,result将两个列表映射到true和false上,但每个元素都是“male:Adam”等。但是
标签: Scala
iteratorlazy-evaluationtree-traversal
如果我的树被定义为:
case class Node(value: Int, children: Seq[Node])
但是为了论证,让我们假设访问子对象是昂贵的,因此我只想在实际需要时遍历它们
如果节点上的非严格、急切的DFS遍历定义为
def traverse(node: Node): Unit = {
node.children foreach { child => traverse(child) }
}
如何创建它的懒惰对应物
理想情况下,我将有一个迭代器方法,该方法返回一
这个问题听起来很幼稚,但我知道在分层文件系统中,目录可以包含其他文件。但是,对于不是目录的东西(即普通的“文件”),我很难想出一个好名字——我不能仅仅称它们为文件,因为类目录扩展了文件。
我想执行类型安全操作(例如,如果我试图列出文件或读取目录,编译将失败):
VanillaFile的更好名称应该是什么
编辑:
正如所指出的,在某些文件系统中还有一件事:
case class SymbolicLink(target: File) extends File
我很想把特性命名为其他东西,比如文件系
我正在为可能写在不止一个地方的承诺而努力。因为scala在试图完成已经完成的承诺时抛出了一个异常,所以我考虑忽略这个异常。为了推广高质量的代码,我正在考虑改进我的工作方式
首先,我编写了泛型方法(在我的例子中,它返回Unit,但我可以将其转换为T)
承诺声明应该如下所示:
ignoreException {promise failure(new Exception)}
但遗憾的是,我只能让它这样工作:
ignoreException {() => promise failure(new
我正在编写一个ETL过程,在这个过程中,我需要读取每小时一次的日志文件,对数据进行分区并保存它。我正在使用Spark(在Databricks中)。
日志文件是CSV文件,因此我读取它们并应用模式,然后执行转换
我的问题是,如何将每小时的数据保存为拼花格式,但附加到现有数据集?保存时,我需要按数据框中的4列进行分区
这是我的保存行:
data
.filter(validPartnerIds($"partnerID"))
.write
.partitionBy("partne
我有一个简单的scala对象文件,包含以下内容:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object X {
def main(args: Array[String]) {
val params = Map[String, String](
"ab
有没有办法检索函数的算术性?例如,给定以下函数:
def moop[I,O](func: I => O) = {
val arity = I.???
???
}
如何获取func的arity?如果I是一个元组,您可以调用它的productArity方法,该方法继承自
如果您有一个只知道它是某种函数的对象,则必须对照function n类的(有限)集合进行检查,因为元组没有常见的超类型。看起来我们现在有Function0到Function22它怎么可能不是1?例如I可能是一个元组类
我想在DB中找到一些对象(Fight),并根据它的存在返回这个特定对象,或者在DB中创建一个新对象并返回新创建的对象。我实现了以下功能:
def findOrCreateFight(firstBoxer: BoxersRow, secondBoxer: BoxersRow, eventDate: java.sql.Date): Future[FightsRow] = {
for {
fight <- findByBoxersAndDate(firstBoxer, secondB
我是新来的Scala
我有一个向量,在一个名为句子的类中:
val tree: Option[Vector[Node]]
此类的构造函数接收单词的数组[String]。对于每个单词,我必须创建一个节点对象(我创建的一个类),然后用所有节点填充向量
我正在尝试填充树,但在编写代码时遇到问题。我试过使用:
private val tree: Option[Vector[Node]] =
words.foreach(w => new Node(w, 9, "d", 0))
priv
这听起来可能是个愚蠢的问题,但我一直在互联网上搜索如何评论sbt文件中的一行。有人知道怎么做吗?/创建注释。
这很容易找到
编辑:sbt构建文件使用Scala语法,上面有一些DSL。作为:
每个设置都使用Scala表达式定义。中的表达
设置相互独立,它们是表达式,
而不是完整的Scala语句
因此,如果您想知道,例如lazy val root意味着什么,您应该搜索Scala文档()以获得答案
另一方面,许多“运算符”(如+=,:=)是sbt DSL的一部分-它们只是在中解释了某种程度的方法。您的
我使用的是Slick 3.1.1,问题是在某些情况下,我想省略一些相当重的列,并且仍然将这些列的子集具体化为一个case类
考虑下表定义:
class AuditResultTable(tag: Tag) extends Table[AuditResult](tag, AuditResultTableName) {
def auditResultId: Rep[Long] = column[Long]("AuditResultId", O.PrimaryKey, O.AutoInc)
我已经做了足够多的Scala来了解丑陋的代码是什么样子的。注意:
val sm Option[Map[String,String]] = Some(Map("Foo" -> "won", "Bar" -> "too", "Baz" -> "tree"))
预期产出:
: String = Foo=won,Bar=too,Baz=tree
这是我的泰勒·佩里密码,由M.Knight Shama Llama Yama导演:
val result = (
for
我正在开发一个Scala API,当URL超过4kb时,可能需要偶尔的GET请求。我发现我们需要设置play.server.netty.maxInitialLineLength,我尝试将其设置为8192(8 kb),但仍然失败:
org.jboss.netty.handler.codec.frame.TooLongFrameException: An HTTP line is larger than 4096 bytes.
at org.jboss.netty.handler.codec
我的日志在我的播放代码中运行良好,但是我的akka代码没有记录到文件/stdout
class EmailActor extends Actor with ActorLogging {
import EmailActor._
log.info("email actor hatched..")
...
}
当我创建这个actor时,我在日志文件或stdout中都看不到日志条目
我拥有此激活器模板中的默认application.conf:
我需要用akka标签修改我的日志文件吗
更新
我
我有一个Scala类:
class Example {
def fooBar() : String = {
// do some stuff
var whistles = new HashSet[String]()
fizzBuzz(whistles)
// do some more stuff
}
def fizzBuzz(whistles : Set[String]) : Unit = {
阅读下面的Spark文档
二元分类预测的示例代码段如下:
val model = new LogisticRegressionModel(
Vectors.dense(weightsWithIntercept.toArray.slice(0,weightsWithIntercept.size - 1)),
weightsWithIntercept(weightsWithIntercept.size - 1))
// Clear the default thre
我有下面的代码,我使用可变列表缓冲区来存储从kafka consumer收到的文件,然后当列表大小达到15时,我将它们插入cassandra。
但他们是否可以使用不可变列表做同样的事情呢
val filesList = ListBuffer[SystemTextFile]()
storeservSparkService.configFilesTopicInBatch.subscribe.atLeastOnce(Flow[SystemTextFile].mapAsync(4) { file
我正在对我的模型进行训练,每当我将maxDepth增加到12以上时,就会出现StackOverflow错误。
5、10、11的所有操作都正常
我正在使用spark 2.0.2(在接下来的几周内我无法升级)。
我有超过3米的数据,200个特征,2500棵树,我想通过增加最大深度来提高精度。有没有办法克服这个问题
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure:
假设通过REST端点接收大型对象(在我的情况下为数兆字节的附件,每天数千个),并将其存储在case类中,如下所示:
case class Box(largeBase64Object: String, results: List[String])
现在,这个case类的实例在多个连续步骤(链)中处理。每个链步骤都可以通过调用box.copy(results=“foo”::box.results)来更改实例(实际上,这个示例被简化了,它实际上是一个存储每个步骤结果的无形状HList)
单个步骤可能
标签: Scala
typeclassshapeless
我正在试验包含类型参数的单例类型。我正在尝试编写一个函数,该函数将同时接受该单例类型的见证和嵌套类型的typeclass。很容易将每一个单独设置(请参见下面的f1()和f2()),但我无法使它同时工作:
import shapeless._
import shapeless.labelled.FieldType
import shapeless.syntax.singleton._
sealed trait TC[L]
object TC {
implicit def intTC = n
我创建了一个临时数据框,如下所示:
var someDF = Seq(("1","1.2.3.4"), ("2","5.26.6.3")).toDF("s/n", "ip")
有没有办法将子网从完整ip地址中提取出来并放入新的“子网”列中
输出示例:
---------------------------
|s/N | ip | subnet |
---------------------------
|1 | 1.2.3.4 | 1.2.3.x |
|2 | 5.26
我正在使用cats库中的State Monad来处理我在Scala中实现的纸牌游戏的状态
我有一个函数simulateGame,当当前状态为Over时,该函数应立即结束。函数如下所示
def simulateGame: GameState[Outcome] = for {
action <- State.inspect[PlayerState, Action] { ... }
status <- step(action)
outcome <- ???
}
使用Scala,我得到了一个错误“值映射不是chemins.Point的成员”
点不看cheminsapi,您很可能想要
for { segment <- segments } yield segment.to
什么是点谢谢!它确实管用。我不确定这两个命题之间的区别。我需要回去了解如何使用平面图。祝你今天愉快
for { segment <- segments } yield segment.to
for {
segment <- segments
point =
我有两个列表,一个包含字符串元素,另一个包含int元素
foo=[“输入”,“输出”]和bar=[10,6]
我想创建一个映射序列,将foo元素映射到“Key”,将bar元素映射到“Value”,这样
Seq(Map("Key" -> "In", "Value" -> 10), Map("Key" -> "Out", "Value" -> 6))
我怎样才能做到这一点 您可以zip两个列表,然后映射到组合列表以创建所需的Seq
val lst = List("In",
我有一个RDD,其中的数据是
(x,y),示例对象
因此,该类有两个变量:
由x和y组成的元组(都是字符串)
exampleObject类的exampleObject
ExampleObject类还包含2个属性:
SetObject1类类型的setObjects1
SetObject2类类型的setObjects2
每个SetObject1类还包含2个属性:
singleObject类类型的singleObject
SetObject3类类型的setObjects3
您可以假设所有属性都有与其关
我是Scala新手,所以我一直在努力阅读文本文件。我试图用一个方法创建一个对象,该方法接受一个表示文件名的字符串,并返回一个int,它是值的总和。然而,文本文件被hashtags分隔开,这让人恼火
这是示例文本文件的外观:
3#1#8
12#9#25#10
-2#12
1#2
How do you split this?
split是一种Java方法,它返回JavaArray,默认情况下,JavaArray在Scala中不是很好地打印出来的,而是作为哈希代码打印出来的。要打印得漂亮,请尝试
我有以下案例课程:
case class QueryResult[T: Decoder](data: T)
它与自动派生一起工作
但我无法通过半自动求导来求解它
以下是我的测试用例:
//import io.circe.generic.auto._ // with this it works
import io.circe.derivation._
case class Name(name: String)
case class QueryResult[T: Decoder]
我有一个新的sbt应用程序,我使用akka http g8模板构建
我试图将reactivemongo 1.0添加到我的构建中,但出现以下错误:
not found: https://repo1.maven.org/maven2/org/reactivemongo/reactivemongo_2.13/1.0/reactivemongo_2.13-1.0.pom
文件上说这个图书馆在maven central
如何确定当前在sbt中项目默认使用的解析器
这个库是否可能不是为scala 2.13
我在下面的代码块中正确定义类型时遇到问题
我想做的是:
我试图定义一个名为processMyFuncResult的通用函数,它接受另一个函数(辅助函数)的结果,一个在计算成功时调用的函数,以及一个在计算失败时调用的函数。我的目的是拥有许多不同类型的辅助函数,其结果在内容上是可变的,但应该扩展traitMyFuncResult[T]
问题是:
在下面的代码中,我生成了一个编译错误,经过多次努力,似乎无法找到一个有效的解决方案,在这个解决方案中,我可以将上下文和结果的特定子类型传递到OnSucces
我必须基于自定义函数在Scala中连接两个spark数据帧。两个数据帧具有相同的模式
DF1中数据的样本行:
{
"F1" : "A",
"F2" : "B",
"F3" : "C",
"F4" : [
{
"name" : "N1",
我在下面有一个Spark数据框:
df.show()
+------+--------------------+--------------------+------+--------+------------------+
| id| A_amount| B_amount| A_pi| B_pi|mismatchingColumns|
+------+--------------------+--------------------+-
我正在尝试使用Redis作为使用play framework编写的scala web服务器的缓存服务器。
我正在按照scala的剧本使用这个库。但我无法使用enabled连接到我的redis服务器,这是版本6中的一项新功能。我尝试了play redis库中解释的集群、单机和aws集群选项
当我尝试连接到没有启用tls的本地redis时,它工作正常
播放版本-2.8.x
Scala版本-2.13.5
方法在我的服务类中使用缓存模块
cache.getOrElseUpdate[QueryRespon
1 2 3 4 5 6 ...
下一页 最后一页 共 1330 页