-
Scala infix类型别名为> 2型参数?
所属栏目:[安全] 日期:2020-12-16 热度:136
我知道在 Scala,你可以做类型=== [A,B] =地图[A,B]然后你可以使用中缀符号来定义def foo:String === Int与def def相同:Map [String,Int].有没有办法利用这个中缀符号创建具有 2参数的类型?例如,我想要这样的东西: 类型A? B ~~~ C是别名的地图[A,Pair [B,[详细]
-
如何从Scala访问Java静态方法,给定它所在的类的别名
所属栏目:[安全] 日期:2020-12-16 热度:55
给定类型别名Cal = java.util.Calendar如何访问静态getInstance方法?我在 Scala REPL中尝试过以下内容: scala type Cal = java.util.Calendardefined type alias Calscala Cal.getInstanceconsole:8: error: not found: value Cal Cal.getInstance ^scala[详细]
-
Scala Iterable的“toMap”方法返回什么样的Map?
所属栏目:[安全] 日期:2020-12-16 热度:81
A Scala Iterable有一个toMap方法,它返回一个Map.这张地图支持什么?它的性能特点是什么? 有没有办法指定toMap应该返回一个HashMap? 解决方法 它返回一个immutable.HashMap,其实际上是一个 immutable hash array mapped trie.这个数据结构本质上是一个混合[详细]
-
在Scala中匹配一个未知大小的元组
所属栏目:[安全] 日期:2020-12-16 热度:58
有没有方法来部分匹配元组,而不必指定大小?例如,如果我有一个元组 val v = ( "Dr","John","H","Watson") 我想要做一些像: v match { case ( "Dr",: _*) = "What's up,Doc?" case ( "Mr",name,:_*) = s"Welcome,Mr. ${name}" case _ = "Have we met?"} 这不[详细]
-
Scala插入到特定位置的列表中
所属栏目:[安全] 日期:2020-12-16 热度:88
这是我解决的问题,但是作为一个完整的 Scala noob,我觉得我发现一些完全不优雅的东西.任何改善的想法赞赏. val l1 = 4 :: 1 :: 2 :: 3 :: 4 :: Nil // original listval insert = List(88,99) // list I want to insert on certain places// method that fin[详细]
-
函数 – Scala中def f(x:Int)= x 1和val f =(x:Int)=> x 1
所属栏目:[安全] 日期:2020-12-16 热度:109
我是新来的 Scala,我有一个问题了解这一点.为什么同一概念有两种语法,而且它们中没有一个更有效率或更短(只是从打字的角度来看,也许它们的行为有所不同 – 这就是我所要求的). 在Go中,类似物具有实际的区别 – 您不能转发 – 分配给变量的lambda,但是您可以[详细]
-
Scala – Currying和默认参数
所属栏目:[安全] 日期:2020-12-16 热度:114
我有一个功能与两个参数列表,我试图部分应用和使用currying.第二个参数列表包含所有默认值(但不是隐式)的参数.这样的事情 def test(a: Int)(b: Int = 2,c: Int = 3) { println(a + "," + b + "," + c); } 现在,以下是好的: test(1)(2,3); test(1)(2); test([详细]
-
Scala:你可以在没有括号的表达式中使用“foo match {bar}”吗?
所属栏目:[安全] 日期:2020-12-16 热度:52
为什么需要括号?我应该知道一些优先规则吗? scala 'x' match { case _ = 1 } + 1console:1: error: ';' expected but identifier found. 'x' match { case _ = 1 } + 1 ^scala ('x' match { case _ = 1 }) + 1res2: Int = 2 谢谢! 解决方法 正如Agilestee[详细]
-
scala – 是否等同于检查异常?
所属栏目:[安全] 日期:2020-12-16 热度:94
从 Scala开始阅读关于我自然将新概念与我所知道的(在这种情况下来自 Java)相比较.与检查异常的概念有任何差异吗? 在这两种情况下 在方法中明确地注释了失败的可能性(抛出或返回两个) 程序员可以直接处理错误情况,或者将其移动(再次返回一个) 有一种方式通知[详细]
-
scala – 减少大流量,无堆栈溢出
所属栏目:[安全] 日期:2020-12-16 热度:73
1我试图做出一个无限制的阶乘函数(只是出于好奇心).这适用于大的n(尝试达到100000,似乎工作,虽然我无法检查输出值是否正确,因为,这是大的!) (BigInt(1) to n).reduceRight(_*_) 但是我恐怕整个BigInt(1)到n的范围都可能在内存中,而我只需要一个元素的reduce[详细]
-
数组 – 将Scala Array转换为唯一排序列表的高效方法
所属栏目:[安全] 日期:2020-12-16 热度:183
任何人都可以在 Scala中优化以下声明: // maybe largeval someArray = Array(9,1,6,2,9,4,5,6) // output a sorted list which contains unique element from the array without 0val newList=(someArray filter (_0)).toList.distinct.sort((e1,e2) = (e1[详细]
-
scala – mixins和继承有什么区别?
所属栏目:[安全] 日期:2020-12-16 热度:52
我试图在 scala的背景下了解Mixins.特别是我想知道继承概念和Mixins的区别.维基说,mixins和继承的概念有重要的区别,因此我想了解它. Mixin在wiki中的定义说: mixin类作为父类,包含所需的功能.然后,一个子类可以继承或简单地重用此功能,但不能作为专业化的手[详细]
-
如何使用Scalacheck的Specs2自动测试String参数?
所属栏目:[安全] 日期:2020-12-16 热度:178
Scala重写的 specs2测试框架集成了 scalacheck的自动化测试.在specs2文档中给出的示例如何使用scalacheck与specs2 use integers或更复杂的自定义生成器,如 eric’s json example所示. 在尝试得到一个稍微复杂的例子工作时,我很挣扎,因为我不知道如何使用spec[详细]
-
Scala中的参数列表中是否直接支持元组拆包?
所属栏目:[安全] 日期:2020-12-16 热度:189
在哈斯克尔你可以写: x :: (Int,Int) - Intx (p,s) = p 在斯卡拉你会写: def x(a: (Int,Int)) = a._1 要么: def x(a: (Int,Int)) = a match { case (p,s) = p} 为什么没有这样的东西 def x(_: (p: Int,s: Int)) = p 要么 def x(foo: (p @ Int,s @ Int)) =[详细]
-
scala – playframework – IOException无法分配内存
所属栏目:[安全] 日期:2020-12-16 热度:197
我的系统是Mint 12 64bit. 我已经安装了类型安全的堆栈并创建了一个新的播放应用程序.没有修改代码,我试图运行它.这是输出: http://pastebin.com/6XwmsbAE 播放抱怨此错误消息: IOException: Cannot run program "javac": java.io.IOException: error=12,C[详细]
-
什么时候为Scala actor创建线程的反应?
所属栏目:[安全] 日期:2020-12-16 热度:51
在阅读了 Scala中演员的反应之后,我认为反应将共享相同的线程,因为没有多个反应未决.似乎并非如此. import scala.actors.Actorimport scala.actors.Actor._class SleepyReactor extends Actor { def act() { loop { react { case x = { println("reacting to[详细]
-
Scala:对象初始化器中的并行收集导致程序挂起
所属栏目:[安全] 日期:2020-12-16 热度:103
我刚刚注意到一个令人不安的行为. 假设我有一个单独的程序,由唯一的对象组成: object ParCollectionInInitializerTest { def doSomething { println("Doing something") } for (i - (1 to 2).par) { println("Inside loop: " + i) doSomething } def main(a[详细]
-
在Scala中的letrec? (不可改变的方式来“绑结”)
所属栏目:[安全] 日期:2020-12-16 热度:95
假设我有一个这样的愚蠢的小案例类: case class Foo(name: String,other: Foo) 我如何定义a和b不可变,这样a.other是b,而b.other是一个? scala是否提供了一些“tie the knot”的方法?我想做这样的事情: val (a,b): (Foo,Foo) = (Foo("a",b),Foo("b",a)) /[详细]
-
Scala:通用类型参数的声明方法
所属栏目:[安全] 日期:2020-12-16 热度:182
在 Scala中相当于以下 Java方法声明是什么? public T T readValue(java.lang.String s,java.lang.ClassT tClass) 换句话说,我想声明一个方法,它接受类型为T的类,并返回该类型的实例. 解决方法 我非常接近你想要的: def readValue[T:ClassTag](s:String):T[详细]
-
斯卡拉 – 性状混合的限制
所属栏目:[安全] 日期:2020-12-16 热度:185
我想要有只能混合指定特征的课程: class Peter extends Human with Lawful with Evilclass Mag extends Elf with Chaotic with Neutral 在Scala中有办法吗? UPD: trait Lawtrait Lawful extends Lawtrait LNeutral extends Lawtrait Chaotic extends Lawt[详细]
-
解析 – Scala命令行解析器与子命令支持
所属栏目:[安全] 日期:2020-12-16 热度:108
我正在为 Scala寻找一个支持子命令的命令行解析器(类似于 Python中的argparse).对于Scala(Scopt,Argot等),似乎有许多不同的命令行解析器,但是它们似乎都不支持子命令解析.我只是想知道这些其他的图书馆支持子命令,如果没有,这样的图书馆是否存在? 解决方法[详细]
-
_2的含义登录scala语言
所属栏目:[安全] 日期:2020-12-16 热度:158
_2在以下代码中是什么意思?在哪里可以找到官方文档? .. @if(errors) { p class="error" @errors.head._2 /p}... 解决方法 ._2选择元组中的第二个元素,例如. val t = (1,2)t._2 所以你的样本中的@errors似乎是一个元组列表. 您可以找到Tuple2的文档here,还[详细]
-
将Scala类型示例转换为Haskell
所属栏目:[安全] 日期:2020-12-16 热度:134
我在 Scala文章中发现了一个非常有趣的例子,我想知道如何在Haskell中进行编码. trait Statustrait Open extends Statustrait Closed extends Statustrait Door[S : Status]object Door { def apply[S : Status] = new Door[S] {} def open[S : Closed](d: Do[详细]
-
scala – 将`Future [Option [X]]`转换成`Option [Future [X]]`
所属栏目:[安全] 日期:2020-12-16 热度:121
如何将未来[选项[X]]转换为选项[未来[X]]? val futOpt:Future[Option[Int]] = future(Some(1))val optFut:Option[Future[Int]] = ? 更新: 这是跟随到this question.我想我想抓住优雅地转变嵌套的期货.我试图通过选项实现Sequences,你将未来[Seq [Future [S[详细]
-
_FUNC__宏Scala 2.10
所属栏目:[安全] 日期:2020-12-16 热度:88
在 Scala 2.9.x中,我写了一个func函数,它给出了函数的名称,这个函数的执行类似于FUNC C预处理器宏.我明白,在Scala2.10中,我应该能够写出比抛出异常更优雅的东西来做这个工作. 我该怎么做?在此先感谢您的帮助. object TestMyLog extends App { val MatchFunc[详细]