问题标签 [scala-2.10]
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 - 有没有办法将Scala反射中的两个等价类型转换为两个等价类型?
考虑以下:
所以通过 typeOf[Boolean] 函数得到的类型和检查方法得到的类型是等价的,但并不相等。
有没有办法将两种等效类型转换为结果相等的一些规范表示?我希望能够将它们用于地图中的键之类的东西。
编辑:
更清楚地说,我正在寻找的是(不是真正的 repl 会话):
所以等价性被转换保留。我还需要它来处理参数化类型。
scala - Scala 2.10 中的新行为
这是两个 REPL 会话(受此问题启发,尽管我的问题不同):
和:
唯一的区别是第一个是 Scala 2.9.2,第二个是 2.10.0。
有人能指出导致这种新行为的 2.10 中的变化吗?
我知道强制转换Nothing
是一件愚蠢的事情,答案可能是“这都是未定义的行为,所以停止这样做”,但它看起来可能会对升级者产生影响,我不知道'不记得遇到任何可以解释这一点的变化的讨论。
scala - 是否可以使用 scala 2.10 找到(在运行时)所有子类(混合了某些特征)
我需要找到所有混合了某些特征的子类(我不会在运行时这样做)。我知道用 scala (ClassUtil) 编写的工具,但这个工具很慢。我还知道一个用 java 编写的工具(比 ClassUtil 更快),但是如果我有选择的话,我宁愿不使用外部库 - 所以我的问题是:scala 2.10 支持解决我的问题吗?
scala - 有没有办法在 for 理解中声明一个隐式 val?
我有一些嵌套调用 flatMap 的代码,如下所示:
通常,人们会将其写为 for 理解,这使代码更具可读性:
但我需要f
隐含,我看不出用理解来做到这一点。有没有?当然我可以明确地传递 f,但这意味着再见漂亮的 DSL。我会对 Scala 2.9 和 2.10 的答案感兴趣。
为了清楚起见,我想做这样的事情,但它不会编译:
编辑:也许功能请求是个好主意?
EDIT2:这应该适用于可用于理解的所有类型,因此不仅适用于通常的集合类型,如List
or Seq
,而且适用于Future
.
scala - Scala 2.10 中的 __FUNC__ 宏
在 Scala 2.9.x 中,我编写了 func 函数,它返回了执行 func() 的函数的名称,就像FUNC C 预处理器宏一样。我知道在 Scala2.10 中我应该能够写出比抛出异常更优雅的东西来完成这项工作。
我该怎么做?在此先感谢您的帮助。
scala - 将 Akka 的 Future[A] 转换为 Future[Either[Exception,A]]
Akka(或 Scala 2.10 的标准库中)是否有方法可以将Future[A]
可能失败的 a 转换为 a Future[Either[Exception,A]]
?我知道你会写
这似乎是一项常见的任务,我想知道我是否忽略了一些东西。我对 Scala 2.9/Akka 和 Scala 2.10 的答案很感兴趣。
scala - flatMap 行为在 2.10.0 中改变
我将一些代码从 2.9 转换为 2.10,遇到了意外的编译错误。这是最小的形式:
在 2.9.2 中,这可以正常工作:
在 2.10.0 中,我们得到一个错误:
但如果我明确地将内部结果转换为 aList
或明确指定泛型类型,它在 2.10.0 中工作正常flatmap
:
有人可以向我解释一下 2.10 的变化是什么导致类型推断在 2.9 中没有在这里失败吗?
编辑:
再深入一点,我们可以看到问题源于 的行为差异collect
:
在 2.9.2 中:
在 2.10.0 中:
据推测,原因与Set
不同,例如List
,类型不变的事实有关。但是更完整的解释,尤其是给出这种改变的动机的解释,会很棒。
scala - 类型安全堆栈和 Scala 2.10
在 scala 的 2.10 下载页面 ( http://www.scala-lang.org/downloads ) 上写着:
Scala 发行版也可以在 Typesafe 的一个简单的、预集成的堆栈中使用。只需从堆栈下载页面下载 Typesafe 安装程序
但是当我从http://typesafe.com/stack/download(当前版本是 2.0.2)下载它时,仍然有 Scala 版本 2.9.2(不是 2.10)。
我是从错误的页面下载类型安全堆栈,还是只是缺少 Scala 2.10?我找不到 scala 2.10 是否应该集成到当前版本的堆栈中的信息。
scala - 在 Scala 2.10 中为所有集合设置并行级别?
tasksupport
我了解如何通过可变字段(参见https://stackoverflow.com/a/5425354/82970)为单个并行集合设置并行度级别。
如何在 Scala 2.10 中为所有新的并行集合设置并行级别?
一个附属问题 ---tasksupport
与并行集合相关联的是由它构建的新并行集合“继承”吗?(例如,使用take
,map
等)
scala - 使用 Scala 2.10 更新到 Eclipse Juno 后,多维数组声明失败
我最近更新到 Eclipse Juno,因此也更新到 Scala 2.10。我之前的代码可以完美运行,但是,在更新之后,我收到此行的“构造函数数组的参数过多”错误:
它应该代表一个二维数组。我想知道问题是什么,因为它以前一直在工作。当我运行项目(忽略错误)时,它不会编译,并且给我一个“找不到类”异常。
我在 OSX Lion 上使用 Scala 2.10 运行 Eclipse Juno。