问题标签 [scala-2.9]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 如何对 List[Int] 对象进行排序?
我想做的是在 Scala 中对 List 对象进行排序,而不是对列表中的元素进行排序。例如,如果我有两个 Ints 列表:
我希望能够将它们按 l1 > l2 的顺序排列。
我创建了一个案例类,它可以满足我的需要,但问题是当我使用它时,我的其他方法都不起作用。我是否需要实现类中的所有其他方法,即 flatten、sortWith 等?
我的课程代码如下所示:
现在,如果我创建一个 ItemSets 数组,我可以对其进行排序:
给我带来问题的两种方法是:
我得到的错误是:
Map[Nothing, Int] 类型的表达式不符合预期的 Map[Int, Int] 类型
而对于这个:
我得到:
无法解析符号 sortWith。
有没有一种方法可以扩展 List[Int] 以便我可以对列表集合进行排序而不会失去其他方法的功能?
scala - 在Scala中按名称编译和运行函数?
跟随这篇硕士论文[1]
学习 Scala 中的解析,但不知道如何让这个例子工作(见第 28-29 页):
[1]
E. Labun,“Scala 中的组合器解析”,Technische Hochschule Mittelhessen,2012 年。
不幸的是,我无法让它在 Scala 2.9.3 或 Scala 2.11.0-M4 中运行:
然后尝试使用 2.11 scalac 和 scala:
scala - 如何在 scala ide 3.0.2 中使用不同版本的 scala 库?
我有最新的 Scala IDE (3.0.2),我想用 Scala 2.9.3 编译我的东西。我已将该版本的 Scala 添加为 Maven 依赖项,并删除了 IDE 与新项目捆绑的默认 2.10.0(顺便说一下,不是我的系统 Scala 版本!)。然后 IDE 告诉我 Scala 不在构建路径上,即使我将 jar 添加到构建路径中也是如此。当我尝试通过该对话添加“Scala 库”时,它没有给我任何选项,而是添加了 2.10.0。我已经浏览了项目设置,并希望看到“Scala 版本”选项,但没有(只有“Java 版本”选项。)
我的问题是这样的:
如何在 Scala IDE 3.0.2 中添加不同版本的 Scala 作为 Scala 库?
谢谢!
scala - 我怎么知道这两个版本的 scala 是否完全相同?
我有来自 Scala-Lang 网站的 scala 版本 2.9.2 的两个不同副本。
1号是二进制代码:scala-2.9.2.tgz
2号是源代码:scala-sources-2.9.2.tgz
我从源代码构建了 scala。我尝试在应用程序和二进制文件中同时使用,但编译的源代码没有。
我的用例:我正在编译我编写的一个小 scala 文件(参见下面的示例),然后创建一个 jar,然后在命令行上从该 jar 中运行“main”。要制作那个 jar,我必须在类路径中包含“scala-library.jar”(来自this SO answer)。我需要能够使用我构建的 scala-sources,以便以后可以修改源代码。
当我使用编译后的源代码时,我收到关于 serialVersionUID 的错误,而二进制代码不会导致此问题。
确切的错误消息(使用我从源代码构建的 scala 时):
java.io.InvalidClassException: scala.collection.mutable.WrappedArray$ofRef; local class incompatible: stream classdesc serialVersionUID = 8184381945838716286, local class serialVersionUID = 6238838760334617323
我为反序列化文件而运行的示例代码:
eclipse - ScalaIDE 3.0.3 在 scala 2.9.x 中出现错误
我正在使用ScalaIDE version 3.0.3-20140327-1716-Typesafe
并且我想在我的项目中使用 Scala 2.9.x。
我已经配置了一个使用 Scala 2.9.3 的 SBT 项目并创建了一个 Eclipse 项目:
将其导入 Eclipse 后,我看到以下错误:
在构建路径中找到的 scala 库版本与 scala IDE 提供的版本不兼容:2.9.3。预计:2.10.4。请用 scala 容器或兼容的 scala 库 jar 替换 scala 库。
然后我添加scala-library 2.9.3
到依赖项,我仍然得到同样的错误:
如果我从 Eclipse ( ScalaIDE ) 中添加 Scala Nature ,那么我会得到一个不同的错误:
在构建路径中找到多个 scala 库 (/home/tuxdna/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.9.3.jar, /home/tuxdna/software/ scala-ide-3.0.3/configuration/org.eclipse.osgi/bundles/290/1/.cp/lib/scala-library.jar)。至少有一个版本不兼容。请更新项目构建路径,使其仅包含兼容的 scala 库。
我怎样才能避免这些错误?
编辑:
- 我在答案中添加了解决方法
- 有问题的项目是这样的:mahout-scala-api-samples
scala - 错误:“:”预期但找到标识符
由于type
是保留字,因此在将其用作标识符时会附加下划线。(我找不到关于这个的风格推荐。)
但后来我用它作为参数标识符。
但我得到一个错误
在两者之间放置一个空间type_
并:
修复它
虽然这违背了推荐的 Scala 风格。
这是 Scala 编译器中的错误吗?我还没有找到任何 Scala 语法的语法,所以我不能确定。
list - Scala,读取文件操作每一行,将每一行插入列表
我正在逐行读取文件,将子字符串“replace”替换为子字符串“replacement”。字符串操作完成后,我想将每一行插入到列表中。
当我调用该函数时,所有返回的是:
有任何想法吗, ?
mongodb - Scala案例类生成的字段值
我有一个现有的 Scala 应用程序,它使用案例类,然后将其持久化在 MongoDB 中。我需要向案例类引入一个新字段,但它的值是从现有字段派生的。
例如,有电话号码,我想在保留原始电话号码的同时添加规范化的电话号码。我将更新 MongoDB 中的现有记录,但我需要将此规范化功能添加到现有的保存和更新代码中。
那么,在 Scala 中是否有任何不错的快捷方式可以将“钩子”添加到案例类的某个字段?例如,在 Java 中可以修改电话号码的设置器。
编辑:
Christian's answer中的解决方案单独工作正常,但在我的情况下,我有字段的默认值(我认为是因为Salat ...)
如果使用类似的东西:
Person(phone = Some("s"))
我去拿:Person = Person(a,Some(s),None)
scala - Scala实现时间计数器
我需要实现一个时间计数器来计算程序进入 .during 后经过的秒数。然后,如果计数器值达到或超过设定的秒数,doIf 中的函数将执行。然后时间计数器将自动重置并在 doIF 结束时重新启动。
这就是我到目前为止所拥有的。
simulation - GATLING Scala 馈线到文件中
我正在尝试将提供 Id 的馈线的值提供给 .txt 文件。他们有什么方法可以直接从馈线中提取值,而不必从每个会话中提取 Id?