-
泛型 – Scala的清单有哪些局限性?
所属栏目:[安全] 日期:2020-12-16 热度:89
Scala的Manifest是一种解决某些类型擦除问题的方法,因为JVM缺乏具体的泛型. 在其他几个问题中讨论了它们;这里有几个: What is a Manifest in Scala and when do you need it? How does Scala’s (2.8) Manifest work? How do I get around type erasure on[详细]
-
数组 – 在Scala中创建和填充二维数组
所属栏目:[安全] 日期:2020-12-16 热度:107
在 Scala中创建预先填充的二维数组的推荐方法是什么?我有以下代码: val map = for { x - (1 to size).toList} yield for { y - (1 to size).toList } yield (x,y) 如何制作数组而不是列表?用.toArray替换.toList不会编译.还有比嵌套表达式更简洁或可读的[详细]
-
scala – 我应该升级到Intellij Ultimate Edition吗?
所属栏目:[安全] 日期:2020-12-16 热度:64
我在 java工作,主要是 Scala.我正在使用Intellij的社区版.我很好奇它是否值得升级到终极版? 我和Intellij和 Eclipse一直在来回……对于Scala开发我更喜欢Intellij(现在). 提前致谢… 解决方法 找到它的最佳方法是尝试,Jetbrains为Ultimate版本提供 30-day t[详细]
-
scala – 禁止混合特定的特征
所属栏目:[安全] 日期:2020-12-16 热度:139
鉴于: trait Footrait Bar { this: Foo = }trait NoBar { this: Foo = } 有没有办法可以欺骗类型系统禁止: new Foo with Bar with NoBar {} 解决方法 并且类型擦除再次节省了一天: trait Footrait Dummy[A]trait Bar extends Dummy[Bar]{ this: Foo = }tr[详细]
-
在scala中发出`object Foo {val 1 = 2}`
所属栏目:[安全] 日期:2020-12-16 热度:52
我发现了 scala这个问题: https://issues.scala-lang.org/browse/SI-4939 似乎我们可以定义一个名称为数字的方法: scala object Foo { val 1 = 2 }defined module Foo 但我们无法援引它: scala Foo.1console:1: error: ';' expected but double literal f[详细]
-
scala – 迭代文件的行
所属栏目:[安全] 日期:2020-12-16 热度:51
我想写一个简单的函数,迭代文本文件的行.我相信2.8可以做到: def lines(filename: String) : Iterator[String] = { scala.io.Source.fromFile(filename).getLines} 就是这样,但在2.9中,上面的方法不起作用,而是我必须这样做: def lines(filename: String)[详细]
-
为什么sbt会说“糟糕的符号引用……”用ScalaTest进行测试?
所属栏目:[安全] 日期:2020-12-16 热度:83
我开始在sbt上使用 ScalaTest. build.sbt如下: name := "MySpecSample"version := "1.0"libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.0" % "test"scalaVersion := "2.10.3" 初始测试代码在这里.此测试代码单独运行,没有主要组件代码.[详细]
-
泛型 – 返回两个值中的第一个的通用方法
所属栏目:[安全] 日期:2020-12-16 热度:168
我需要一个方法来返回两个有序值中的第一个.我试过了: def first[T : Ordered[T]](a: T,b: T) = { a compare b match { case -1 | 0 = a case 1 = b }} 但得到 scala first(3,4)console:9: error: inferred type arguments [Int] do not conform to method[详细]
-
Scala默认设置实现
所属栏目:[安全] 日期:2020-12-16 热度:127
我可以从 Scala文档中看到scala.collection.immutable.Set只是一个特征.默认情况下使用Set实现中的哪一个? HashSet或TreeSet(或其他)? 我想知道/计划某些功能的运行时间. 例: scala val s = Set(1,3,6,2,7,1) res0: scala.collection.immutable.Set[Int][详细]
-
sbt控制台如何更新到最新的Scala版本?
所属栏目:[安全] 日期:2020-12-16 热度:107
我已经使用 Installing sbt on Linux中的说明安装了sbt. $sbt --versionsbt launcher version **0.13.8** $sbt console[info] Starting scala interpreter...[info] Welcome to Scala version 2.10.4 (OpenJDK 64-Bit Server VM,Java 1.7.0_79). 如何配置(或[详细]
-
为什么使用元组的Scala表达式无法编译?
所属栏目:[安全] 日期:2020-12-16 热度:64
使用 Scala 2.8.1,编译: val t = (40,2)println(for ((i,j) - List(t)) yield i + j)val e: Either[String,(Int,Int)] = Right(t)println(e.right.map { case (i,j) = i + j})println(for ((i,j) - e.right) yield i + j) 给出这个: test.scala:9: error:[详细]
-
在Scala中创建最小堆的最简单,最有效的方法是什么?
所属栏目:[安全] 日期:2020-12-16 热度:144
val maxHeap = scala.collection.mutable.PriorityQueue[Int] //Gives MaxHeap 使用Ordering将PriorityQueue转换为minHeap最简洁有效的方法是什么? 解决方法 您必须定义自己的订购: scala object MinOrder extends Ordering[Int] { def compare(x:Int,y:In[详细]
-
scala – Slick:创建数据库
所属栏目:[安全] 日期:2020-12-16 热度:141
如果数据库尚不存在,有没有办法创建数据库? Database.forURL("jdbc:mysql://127.0.0.1/database",driver = "com.mysql.jdbc.Driver",user = "root") withSession { // create tables,insert data} “数据库”不存在,所以我想光滑为我创建它.有任何想法吗?[详细]
-
为什么Scala中没有“Functor”特征?
所属栏目:[安全] 日期:2020-12-16 热度:122
在 Scala中,Future,Option和List等泛型类都有方法map和flatMap.据我所知,他们都像Haskell中的 Functors. 我只是想知道为什么在Scala中没有一个名为Functor的特征(接口). 有没有人有这个想法? 解决方法 这样的特质会怎样?请记住,仿函数由fmap函数确定,该函[详细]
-
我如何在Scala中表示复合键?
所属栏目:[安全] 日期:2020-12-16 热度:57
如果我有 val key1 = "mykey"val key2 = 427 两者都可以哈希吗?我可以做点什么 val compoundKey = key1 + "#" + key2myhash.put(compoundKey,value) 然而,这似乎有点笨重 解决方法 我总是喜欢Tuple上的新数据类型有三个原因: case class CompoundKey(key1:[详细]
-
scala – 在一个Map上的in =一个前缀运算符=?
所属栏目:[安全] 日期:2020-12-16 热度:181
在Martin Odersky的“ Scala编程”一书中,第一章有一个简单的例子: var capital = Map("US" - "Washington","France" - "Paris")capital += ("Japan" - "Tokyo") 第二行也可以写成 capital = capital + ("Japan" - "Tokyo") 我很好奇=符号.在Map类中,我没有[详细]
-
scala – `val(A)=(3)`是正确的,但`val(A,B)=(2,3)`无法编译,为
所属栏目:[安全] 日期:2020-12-16 热度:53
val A = 3val (A) = (3) 两个都正确.但: val (A,B) = (2,3) 无法编译: scala val (A,3)console:7: error: not found: value A val (A,3) ^console:7: error: not found: value B val (A,3) ^ 为什么? 解决方法 在第二个代码片段中,它使用模式匹配来进行评[详细]
-
斯卡拉 – 如何从外面正确阻止阿卡流
所属栏目:[安全] 日期:2020-12-16 热度:74
我正在设计一个可以生成CSV测试数据的小工具.我想使用Akka Streams(1.0-RC4)来实现数据流.将有一个Source生成随机数,转换为CSV字符串,一些速率限制器和一个写入文件的接收器. 还应该有一个使用小型REST接口停止工具的干净方法. 这是我在努力的地方.在流启动[详细]
-
scala.Array怎么样?
所属栏目:[安全] 日期:2020-12-16 热度:199
我是一名强大的 Java开发人员,他最近开始尝试在我的空闲时间内学习Scala.我正在阅读来自scala-lang.org的 Scala by Example PDF文件,我很困惑第一个例子中的快速排序是如何工作的.这是代码: object QuickSort extends App { def sort(input: Array[Int]): A[详细]
-
scala – 具有类型参数的case类的Tupled方法
所属栏目:[安全] 日期:2020-12-16 热度:181
当有一个带有类型参数的case类时,我看不到如何调用tupled方法.它似乎与申请和不适用相关. scala case class Foo[T](x:T,y:T)defined class Fooscala Foo.apply[Int] _res1: (Int,Int) = Foo[Int] = function2scala Foo.unapply[Int] _res2: Foo[Int] = Optio[详细]
-
scala简单的功能实现~weekone
所属栏目:[安全] 日期:2020-12-16 热度:160
1、?个数字如果为正数,则它的signum为1;如果是负数,怎么signum为-1;如果是0,则signum 为0.编写?个函数来计算这个值。 object Test { def main(args : Array[String]){ val a= 1 var signum =if(a0) 1 else if(a0) -1 else 0 println(signum) }} 2、针对[详细]
-
在Scala中,为什么Array(“1”)“-3”输出Array [Any] = Array(1,
所属栏目:[安全] 日期:2020-12-16 热度:197
为什么在 Scala 2.12.6中有数组(“1”)“-3”输出res1:数组[Any] =数组(1,–,3)? 如何获得结果数组(“1”,“ – 3”)? 解决方法 是二元运算符(也称为方法),用于连接两个集合.eg.数组或列表. 如果第一个操作数是数组,则结果默认为Array. 如果第一个操作数[详细]
-
scala – akka:如何测试一个演员被停止了
所属栏目:[安全] 日期:2020-12-16 热度:90
我想知道测试演员是否已停止在akka的规范方法是什么.这是我目前正在做的一个例子;我担心我会让它复杂化. import akka.actor.{Terminated,Actor,Props,ActorSystem}import akka.testkit.TestProbeclass MyActor extends Actor { import MyActor._ override de[详细]
-
泛型 – Scala:如何使用长类型参数列表
所属栏目:[安全] 日期:2020-12-16 热度:107
我可以在 Scala中使用哪些技术来处理长类型参数列表? 我正在研究一个用于运行具有不同模拟环境的各种类型游戏的小框架.我试图保持框架的某些部分相对通用,所以我将各种类型作为类型参数引入,例如环境状态,游戏结果等. 它在功能上都运行良好,我确实获得了类[详细]
-
单元测试 – 如何使用蛋糕模式进行模拟
所属栏目:[安全] 日期:2020-12-16 热度:159
我有以下课程: class LinkUserService() { //** cake pattern ** oauthProvider: OAuthProvider = //****************** def isUserLinked(userId: String,service: String) = { val cred = oauthProvider.loadCredential(userId) cred != null } def linkU[详细]