-
Scala,尾递归与非尾递归递归,为什么尾递归较慢?
所属栏目:[安全] 日期:2020-12-16 热度:180
我正在解释一个朋友,我预计 Scala中的非尾递归函数比尾递归慢,所以我决定验证它. 我写了一个很好的旧阶乘函数,并尝试比较结果.以下是代码: def main(args: Array[String]): Unit = { val N = 2000 // not too much or else stackoverflows var spent1: Long[详细]
-
数组 – Scala中的Array [String]不是Seq [String]的子类?
所属栏目:[安全] 日期:2020-12-16 热度:102
我写了一个接受Seq [String]的所有子类的对象的方法.不幸的是它不会接受Array [String]类型的对象. Array [String]不是Seq [String]的子类? scala def test[T : Seq[String]](x: T) = {}test: [T : Seq[String]](x: T)Unitscala val data = "This is a test[详细]
-
Scala泛型类型约束
所属栏目:[安全] 日期:2020-12-16 热度:190
我现在读 Programming Scala.我刚刚通过了隐式类型转换的章节,其中引入了%符号.还有lt ;:符号和符号. 有人可以总结不同类型的约束?我正在努力与lt ;:和例如.如果还没有其他的,我很好奇 解决方法 没有类型约束称为. A:B表示A字面上是B的子类型(其中子类型[详细]
-
在scala中读取UTF-8中的xml
所属栏目:[安全] 日期:2020-12-16 热度:100
我正在尝试使用以下代码将文件读取到xml: import scala.xml._object HebrewToEnglishCityTranslator { val data = XML.loadFile("cities_hebrew_utf.xml"); for(val entry - data "city") { val hebrewName = (entry "hebrew_name").text val english[详细]
-
在Scala中的代号与Haskell中的懒惰评估?
所属栏目:[安全] 日期:2020-12-16 热度:172
Haskell的懒惰评估 will never采取更多的评估步骤而不是热切的评价. 另一方面,Scala的通过评估评估may require更多的评估步骤比通过值(如果短路利益被多次计算的成本抵消). 我认为call-by-name大概相当于懒惰的评估.那为什么这样的时间差在保证? 我猜猜Hask[详细]
-
Scala IDE错误 – “projectname”不是Scala项目 –
所属栏目:[安全] 日期:2020-12-16 热度:64
我已经安装了最新的 scala ide插件到 eclipse(版本:3.4.2).看来安装是没有任何错误的确定. 我可以创建一个scala项目并添加一个包,但是我无法添加scala对象,当它显示“projectname”不是添加对象对话框中的Scala项目错误消息时. 我已经谷歌,发现它可能与JDT[详细]
-
scala – 为什么我的收藏不能与我的Stream一起工作
所属栏目:[安全] 日期:2020-12-16 热度:109
以下代码打[详细]
-
Scala中的构造函数局部变量
所属栏目:[安全] 日期:2020-12-16 热度:154
我正在练习5.7“不耐烦的 Scala”,在那里我需要创建一个名为Person的类Person:构造函数上的String,并且有2个属性firstName和lastName由名称由空格分隔.我的第一个审判是: class Person(name:String) { private val nameParts = name.split(" ") val firstN[详细]
-
惯用的Scala方法来处理基础与派生类字段名称?
所属栏目:[安全] 日期:2020-12-16 热度:144
考虑 Scala中的以下基类和派生类: abstract class Base( val x : String ) final class Derived( x : String ) extends Base( "Base's " + x ) { override def toString = x } 这里,派生类参数的标识符“x”会覆盖Base类的字段,因此可以像这样调用toString[详细]
-
scala – 本地分配会影响类型吗?
所属栏目:[安全] 日期:2020-12-16 热度:162
在以下示例中,f3可以采用Iterable [Array [Int]] def f3(o:Iterable[Iterable[Any]]):Unit = {} f3(Iterable(Array(123))) // OK. Takes Iterable[Array[Int]] 但是如果我将Iterable [Array [Int]]赋给局部变量,它不能: val v3 = Iterable(Array(123)) f3(v[详细]
-
在Scala中生成格式化的XML
所属栏目:[安全] 日期:2020-12-16 热度:126
我有一些使用嵌入式 Scala生成的XML,但是它不会将生成的XML放在不同的行上. 目前看来, book id="0" authorGambardella,Matthew/authorpublish_dateSun Oct 01 00:00:00 EDT 2000/publish_datedescriptionAn in-depth look at creating applications with XML[详细]
-
使用无形scala合并两个不同案例类的字段
所属栏目:[安全] 日期:2020-12-16 热度:176
我想将两个不同案例类的字段合并为一个案例类. 例如,如果我有以下案例类: case class Test(name:String,questions:List[Question],date:DateTime)case class Answer(answers:List[Answers]) 我想要一个简洁的无形方式将两者合并为: TestWithAnswers(name:S[详细]
-
scala – 将一个元组添加到listBuffer
所属栏目:[安全] 日期:2020-12-16 热度:150
我想给ListBuffer添加一个三整数元组.直观地,我的第一个尝试是代码片段1,它有一个语法错误,根据编译器.然后,我已经尝试了代码片段2和3,两者都可以工作.所以有人可以向我解释为什么代码片段1在语法上是错误的. 片段1 import scala.collection.mutable.ListBuf[详细]
-
scala – 如何写(String):Int函数?
所属栏目:[安全] 日期:2020-12-16 热度:60
我想使用map方法将Array [String]转换为Array [Int].获取类型(String)=的函数的最短方法是什么? Int作为地图参数传递? 我喜欢以某种方式转换现有的内置的,像Integer.valueOf. 一个参数绑定的方法来缩短构造,如def parseInt(s:String)= Integer.parseInt(s[详细]
-
来自Scala中给定列表的每个第n个项目的列表
所属栏目:[安全] 日期:2020-12-16 热度:153
这是我在 Scala中解决的一个简单的练习:给定一个列表l返回一个新的列表,其中包含l的每个第n个元素.如果n l.size返回一个空列表. def skip(l: List[Int],n: Int) = Range(1,l.size/n + 1).map(i = l.take(i * n).last).toList 我的解决方案(见上文)似乎工作,[详细]
-
案例类scala的隐式排序
所属栏目:[安全] 日期:2020-12-16 热度:138
案例类在 scala中似乎没有隐式排序. scala case class A(i:Int)defined class Ascala implicitly[Ordering[A]]console:10: error: No implicit Ordering defined for A. implicitly[Ordering[A]] 我想知道是否总是为所有案例类定义一个隐式排序,如果不是,至[详细]
-
使用null参数从Scala调用Java API
所属栏目:[安全] 日期:2020-12-16 热度:136
我有一些需要调用 Java API的Scala代码 Java API接受可能为null的参数.我的Scala当然使用Option. 例如,假设我有一个Java对象构造函数Foo(Integer),其中Integer可以为null.我想在Scala栏中调用它:Option [Int]. 我试过这个 import scala.collection.JavaConv[详细]
-
运行Typesafe Console / Atmos来监控actor系统/ scala应用程序.
所属栏目:[安全] 日期:2020-12-16 热度:171
用演员系统在 Scala中编写程序. 需要使用Atmos(Typesafe控制台)进行监控 使用sbt或Eclipse找到文档,问题是我正在寻找一种方法: 在我的IDE中每次运行时重新启动/启动typesafe控制台 使用所需的java opt运行应用程序 每次运行时打开控制台 自动执行此操作 这[详细]
-
嵌套选项的惯用Scala
所属栏目:[安全] 日期:2020-12-16 热度:57
让我说我有一个Element对象(来自JDom实际上).它可能有一个称为“组”的子元素,或者它可能不是.如果是这样,那么它可能有一个名为“ID”的属性,或者再也可能没有.我想要ID值,如果它存在. 如果Java我会写. private String getId(Element e) { for (Element chil[详细]
-
playframework – 用于Play 2.0框架和Scala的IDE
所属栏目:[安全] 日期:2020-12-16 热度:138
我最近玩Play 2.0.我在文档中发现它可以为 Eclipse,Idea或Netbeans生成一个项目.但是,它似乎只适用于2.0之前的版本. 如何配置IntelliJ Idea的Play 2.0项目,或者您推荐什么其他IDE? 解决方法 在这个问题的时候,Play 2.0还处于测试阶段,缺乏一些支持和文档.最[详细]
-
斯卡拉 – 喷雾马歇尔为升级后喷雾1.2毫米隐含范围内的期货
所属栏目:[安全] 日期:2020-12-16 热度:149
更新到spray 1.2后,我遇到了一个与我的 JSON编程器完美配合的问题.在HttpService中执行以下操作 trait TestHttpService extends HttpService with SprayJsonSupport with DefaultJsonProtocol{ self : ActorLogging = case class Test(hallo: String,test: S[详细]
-
解析 – Scala中解析器成功的模式匹配
所属栏目:[安全] 日期:2020-12-16 热度:198
我是 Scala的新手,并一直在尝试使用其出色的组合解析器库.我一直在尝试编译这段代码: import scala.util.parsing.combinator._...val r:Parsers#ParseResult[Node] = parser.parseAll(parser.suite,reader)r match { case Success(r,n) = println(r) case F[详细]
-
scala – 是特定语言的演员模式吗?
所属栏目:[安全] 日期:2020-12-16 热度:107
我正在读一本关于erlang和演员模特的 interesting blog post.我也听说scala支持演员模特儿.从我迄今收集的小部分,演员模型将处理分解成通过传递消息相互通信的组件.通常,这些进程是不可变的. 这些功能在架构层面上是否具有语言特定性?更具体地说,你不能用几[详细]
-
case-class上的`productElement(i)`是否使用反射?
所属栏目:[安全] 日期:2020-12-16 热度:166
考虑以下 Scala片段: case class Foo(v1: String,v2: Int,v3: Any)def inspect(p: Product) = (0 until p.productArity).foreach(i = println(p.productElement(i)))inspect(Foo("Moin",77,null)) 在这里调用inspect()是否意味着使用反射(以任何方式)? 我[详细]
-
Scala – 惯用的方法来计算交错数组的总和?
所属栏目:[安全] 日期:2020-12-16 热度:119
我正在尝试计算 Scala中图像的平均颜色,其中“average”被定义为redSum / numpixels,greenSum / numpixels,blueSum / numpixels. 以下是我用来计算图像矩形区域(光栅)的平均颜色的代码. // A raster is an abstraction of a piece of an image and the under[详细]