问题标签 [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.

0 投票
1 回答
284 浏览

scala - 在 scala 2.10 AST 中搜索

在 scala 2.10 AST 中递归搜索元素的最佳方法是什么?

树可能是power.trees(code)mirror.mkToolBox().parseExpr(code) Edit的结果。在 2.10.0-RC1parseExpr中已重命名为parse.

我所拥有的具体用例是通过方法名称从给定的类/对象代码中提取方法的代码,但我认为如果以更通用的方式表述,该问题将与其他问题更相关。

0 投票
1 回答
1643 浏览

scala - 如何获得 Scala 2.10 反射引用的实际对象?

请考虑以下代码:

我可以Symbol像这样引用这个对象:

现在,有了这个符号,我怎样才能得到实际的ResponseType对象?

0 投票
3 回答
3401 浏览

scala - 使用 Scala 2.10 反射如何列出枚举的值?

有以下枚举

如何获取其 val 列表?

0 投票
1 回答
172 浏览

scala - 宏采用类体,消除显式新运算符?

我从不喜欢newScala 中的运算符,尤其是 DSL。没有 构建对象的解决方法new通常非常难看。例如,如果你 import scala.actors.Actor._,你有actor { ... },但在 body 内部你不能访问this: Actor,所以在那个对象中也有各种各样的伪实例方法,比如receivereactself等等。

使用 Scala 2.10 宏,我想知道是否有机会获得以下工作?

作为一个额外的挑战,如果doSomething是会发生什么protected

0 投票
1 回答
75028 浏览

scala - 什么是 TypeTag 以及如何使用它?

我所知道的关于 TypeTags 的只是它们以某种方式取代了 Manifests。Internet 上的信息很少,无法让我很好地了解该主题。

因此,如果有人在 TypeTags 上分享一些有用材料的链接,包括示例和流行用例,我会很高兴。也欢迎详细的回答和解释。

0 投票
1 回答
457 浏览

scala - 在 scala 2.10 中是否可以通过一次宏调用生成多个顶级类?

我有一个包含大量样板的程序(遗憾的是,即使是 Scala 机制也无法简化)。但是,如果有一种方法可以使用宏生成复杂的顶级类,那么所有样板文件都会消失。例如:

Scala 2.10 宏可以实现吗?

0 投票
2 回答
149 浏览

scala - reify宏扩展期间的StackOverflowError

我有一个使用 reify 的简单测试宏。它会在宏扩展期间导致 StackOverflowError。

为什么会这样?可以以某种方式避免吗?

编辑:这就是 M6 发生的事情。我刚刚用 M7 试了一下,现在它说

实现限制:无法具体化类型 Object{def (): O.type} (ClassInfoType)

所以这回答了为什么的问题,但问题仍然是是否有办法解决这个问题。

0 投票
1 回答
1398 浏览

scala - 如何在 Scala 2.10 中反映注释?

我试图发现一个特征的值是否有一个与之关联的注释。在查看了 Scala 2.10-M7 反射 API 之后,我认为getAnnotations方法(位于Symbol中)可能是一个很好的选择,但它返回一个空列表,如下面的 REPL 会话所示:

这些“注释”与我要处理的注释相同吗?我怎么知道a是否用W注释?

0 投票
3 回答
2084 浏览

scala - Scala 2.10 中的 Option.fold

在与 scala 2.10.0-M7 的以下会话中:

我希望编译器找到共同的超类型(即 A)而不是抱怨。它是一般类型推断限制,还是 Option.fold 定义方式的结果?

谢谢你。

0 投票
1 回答
364 浏览

scala - Scala 2.10 反射:ClassSymbol.isCaseClass 在 scala 控制台中有效,但在脚本/应用程序中无效

我在 Scala 2.10.0-M7 中玩反射,偶然发现了ClassSymbol.isCaseClass在 scala 控制台中表现得像预期的方法,但在作为 java 应用程序或 scala 脚本执行时却没有。

TestScript.scala是这样定义的:

如果我在命令行调用上执行它

我得到这个输出:

如果我改为将代码输入到交互式 scala shell 中或像这样加载它:

我得到以下正确的输出:

如果我编译它并将其作为标准 Java 应用程序执行,我会再次得到false结果ClassSymbol.isCase

我错过了什么?scala控制台环境和java运行时环境有什么区别?如何在实际应用中获得正确的结果?