-
是否有理由在Scala中使用子类型作为类型参数?
所属栏目:[安全] 日期:2020-12-16 热度:56
我想知道是否有充分的理由使用子类型作为函数类型参数? 让我们考虑以下示例: scala trait Animal { def sound: String }defined trait Animalscala def f1[T : Animal](a: T) = a.soundf1: [T : Animal](a: T)Stringscala def f2(a: Animal) = a.soundf2:[详细]
-
解析 – 轻松解析Key = Value对的字符串到Scala案例类
所属栏目:[安全] 日期:2020-12-16 热度:114
有没有办法轻松地将一串键值对解析成 scala案例类? 例如,来自以下字符串 "consumer_key=1234ABC,consumer_secret=12345ABC" 成 case class Auth( consumerKey:String,consumerSecret:String) 甚至 case class Auth(consumer_key:String,consumer_secret:Str[详细]
-
什么是Scala标准API中的IO Haskell Monad等价物?
所属栏目:[安全] 日期:2020-12-16 热度:72
我知道在IO运算符的 Scalaz中有一些几乎完全相同的实现,如putStrLn :: String – IO()和getLine :: IO String但我的意思是关于Scala标准API为什么没有这样的等价物? 我知道Scala不是Haskell的纯语言,并且有副作用,但我认为这种数据类型是如此描述性和有用.[详细]
-
scala – 播放2.1.x默认捕获所有路由
所属栏目:[安全] 日期:2020-12-16 热度:74
在Play框架中是否有默认捕获所有后备路由?如果是这样,我如何在我的路线文件中配置它?目前,有些网址我不希望用户给他们打电话,即使他们打电话,我也不希望出现错误页面,而是希望他们转到我的网络应用程序的登录页面!有没有办法在路由配置文件中执行此操作?[详细]
-
scala – 如何在application.conf中设置默认值并使用Environment
所属栏目:[安全] 日期:2020-12-16 热度:162
我想使用环境变量为application.conf中的一个config变量设置值.但是如果这个env变量不存在,我想默认配置为某个值而不是错误. 这可能吗?这里有参考设置. test.myframework {host = ${TEST_HOST_NAME}} 如果TEST_HOST_NAME如果不存在,我可以将主机默认为local[详细]
-
泛型 – scala:如何创建一个泛型类型,它是scala中所有数字类的
所属栏目:[安全] 日期:2020-12-16 热度:84
我正在尝试创建一个泛型类,其泛型类型是Numeric的子类(以确保我处理数字.) 我尝试将“类NuVector [T:Numeric [T])”作为类def并编译好. 现在我想添加PartiallyOrdered [T].所以我做了以下事情: class NuVector[T:Numeric[T]) extends PartiallyOrdered[T]{[详细]
-
应用于scala中的元组列表时出现映射错误
所属栏目:[安全] 日期:2020-12-16 热度:142
如果将map方法应用于 Scala中的元组列表,则会出现如下错误: scala val s = List((1,2),(3,4))s: List[(Int,Int)] = List((1,4))scala s.map((a,b) = a+b)console:13: error: missing parameter typeNote: The expected type requires a one-argument functi[详细]
-
performance – Scalable包含针对SQL后端的LINQ方法
所属栏目:[安全] 日期:2020-12-16 热度:117
我正在寻找一种以可扩展的方式执行 Contains() 语句的优雅方式.在我提出实际问题之前,请允许我给出一些背景知识. IN声明 在Entity Framework和LINQ to SQL中,Contains语句被翻译为SQL IN语句.例如,从这个声明: var ids = Enumerable.Range(1,10);var course[详细]
-
斯卡拉 – 为什么承诺不能协变
所属栏目:[安全] 日期:2020-12-16 热度:194
在 Scala中,Future被定义为协变,而Promise是不变的.据说Promise几乎可以逆变( https://issues.scala-lang.org/browse/SI-7467).为什么会这样? 解决方法 如果承诺是协变的,你将能够做到: val p: Promise[Any] = Promise[String]()p.success(1) 从而完成一个[详细]
-
scala – 如何从交叉验证器获得训练有素的最佳模型
所属栏目:[安全] 日期:2020-12-16 热度:54
我构建了一个包含这样的DecisionTreeClassifier(dt)的管道 val pipeline = new Pipeline().setStages(Array(labelIndexer,featureIndexer,dt,labelConverter)) 然后我使用这个管道作为CrossValidator中的估算器,以获得具有这样的最佳超参数集的模型 val c_v[详细]
-
Scala默认参数值派生自先前的参数
所属栏目:[安全] 日期:2020-12-16 热度:67
有没有办法做这样的事情 class Foo (val bar:Any,val baz:Any = magic(bar)) 没有重载构造函数或使baz变得可变? 解决方法 您应该使用不同的参数组: def test(i: Int)(j: Int = i + 1) = i + jtest(1)()// Int = 3class Foo (val bar: Int)(val baz: Int =[详细]
-
scala – 惯用法替代`if(x)Some(y)else None`
所属栏目:[安全] 日期:2020-12-16 热度:186
我发现在我的代码中反复弹出以下模式,我的直觉说必须有一些惯用的 Scala方法来更好地表达这个(Monadic或其他): val someCollection: Seq[Thing] = ...val makeBlah: Seq[Thing] = Blah = ......if (someCollection.nonEmpty) Some(makeBlah(someCollection)[详细]
-
Scala在Variadic函数中用下划线标出星号?
所属栏目:[安全] 日期:2020-12-16 热度:144
参见英文答案 What does `:_*` (colon underscore star) do in Scala?????????????????????????????????????3个 我目前正在关注 Functional Programming In Scala 这是在List [A]中应用的伪实现 def apply[A](as: A*): List[A] = if (as.isEmpty) Nil else :[详细]
-
scala – Akka在回复非Actor代码时避免包装未来
所属栏目:[安全] 日期:2020-12-16 热度:161
我正在与Akka 2制作一个小型缓存演员并让演员不要阻止我在期货中执行所有计算.然而问题是这个actor还需要与不在actor中的代码进行交互,因此我需要使用“ask”模式来获取值. 我的问题是,在使用ask模式时,如何避免将计算的Future包含在另一个Future中? 例如 v[详细]
-
scala – 无法使用动态mixin类型为键添加成员到Map
所属栏目:[安全] 日期:2020-12-16 热度:56
以下语句编译正常并按预期工作: val map : Map[_ : Int with String,Int] = Map(1 - 2,"Hello" - 3) 但是,如果我尝试添加到地图: map + ((3,4)) 要么 map + (("Bye",4)) 然后我得到一个类型不匹配: found : java.lang.String(“Bye”) required : _$1 whe[详细]
-
scala – 如何匹配Akka HTTP中的所有路径
所属栏目:[安全] 日期:2020-12-16 热度:55
大多数Akka HTTP示例显示使用路径定义路由非常容易. 我有以下(略微简化)来自introductory example, val route = path("hello") { complete( HttpEntity( ContentTypes.`text/html(UTF-8)`,"h1Say hello to akka-http/h1")) } 但是,上面只适用于“/ hello”,[详细]
-
scala – “应该启用更高的键控类型”警告
所属栏目:[安全] 日期:2020-12-16 热度:194
在以下代码中(从 Functional Programming in Scala开始): trait Functor[F[_]] { def map[A,B](fa: F[A])(f: A = B): F[B]}trait Monad[F[_]] { def unit[A](a: = A): F[A] def flatMap[A,B](ma: F[A])(f: A = F[B]): F[B] def apply[A](a: = A): F[A]} 我[详细]
-
为什么不将每个Scala类都作为案例类?
所属栏目:[安全] 日期:2020-12-16 热度:165
case类有一些很好的perc,比如 copy,hashCode,toString,Pattern Matching.为什么不把每个Scala类都作为一个case类呢? 解决方法 案例类非常适合保存复杂值,例如实体对象.它们被认为恰恰适用于这种情况,因此它们通过合成您提到的方法并进一步使您的类Serializa[详细]
-
如何在scala-2.10项目中使用sbt-idea?
所属栏目:[安全] 日期:2020-12-16 热度:140
我在 Scala 2.10项目中使用 sbt-idea工作时遇到了很多麻烦. 我尝试从它的git repo编译sbt-idea,确保设置 scalaVersion := "2.10.0-RC5" 在build / Build.scala中,并使用publish-local命令在git中编译它.但我仍然坚持下去 [error] sbt.IncompatiblePluginsExc[详细]
-
scala – 单个monad的多个flatMap方法?
所属栏目:[安全] 日期:2020-12-16 热度:124
在Monad中定义多个flatMap(或 = / / Haskell中的绑定)方法是否有意义? 我实际使用的极少数monad(Option,Try,Either projection)只定义了一个flatMap方法. 例如,在Option上定义一个flatMap方法是否有意义,它会产生一个生成Try的函数?因此,选项[试用[用户]][详细]
-
scala – 为什么有从Float / Double到BigDecimal的隐式转换,而不
所属栏目:[安全] 日期:2020-12-16 热度:140
虽然与 Java相比,从Doubles到BigDecimals的转换情况有所改善 scala new java.math.BigDecimal(0.2)res0: java.math.BigDecimal = 0.20000000000000001110223024625156...scala BigDecimal(0.2)res1: scala.math.BigDecimal = 0.2 等等 val numbers: List[Big[详细]
-
如何在scala中实现Serializable接口?
所属栏目:[安全] 日期:2020-12-16 热度:135
我有 scala类,如: @Entity("users")class User(@Required val cid: String,val isAdmin: Boolean = false,@Required val dateJoined: Date = new Date() ) { @Id var id: ObjectId = _ @Reference val foos = new ArrayList[Foo] } 如果它是一个Java类,我只[详细]
-
scala – 如何访问数组列中的值?
所属栏目:[安全] 日期:2020-12-16 热度:50
我有一个包含一列的Dataframe.该列的每一行都有一个String值数组: 我的Spark 2.2 Dataframe中的值 ["123","abc","2017","ABC"]["456","def","2001","ABC"]["789","ghi","DEF"]org.apache.spark.sql.DataFrame = [col: array]root|-- col: array (nullable =[详细]
-
无法解决符号“Scalatest”
所属栏目:[安全] 日期:2020-12-16 热度:97
我试图使用 scalatest,但Intellij无法识别: import org.scalatest._ 这是我的build.sbt文件,位于与我的scalatest.jar文件相同的目录中. scalaVersion := "2.11.2"libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" 谢谢 解决[详细]
-
scala – 如何使用抽象类型的类型约束
所属栏目:[安全] 日期:2020-12-16 热度:186
给出以下代码: trait S { type T }case class A(t: Seq[String]) extends S { type T = Seq[String] } 我不明白这个编译错误: 似乎没有使用证据. def f[S:A,X](g: = Seq[X])(implicit ev: S#T =:= Seq[X]) = new A(g)console:50: error: type mismatch; fo[详细]