scala-2.10相关内容

如何获取有关“功能"标志警告的更多信息?

使用 Play2 编译应用程序时,有时我的终端上会出现以下消息: [info] 将 1 个 Scala 源代码编译到 ~/target/scala-2.10/classes... [警告] 有 1 个功能警告;使用 -feature 重新运行以了解详细信息 [警告] 发现一个警告 [成功] 1s编译完成 如何获得有关这些警告的更多信息?它必须是 sbt 的一个选项,但我不知道在哪 ..
发布时间:2022-01-24 22:36:17 Java开发

带有 SBT 的条件 scalacOptions

我正在使用 SBT 为 Scala 2.8、2.9 和(希望)2.10 交叉构建的项目.我想在仅使用 2.10 编译时添加 -feature 选项. 也就是说,当我使用小于 2.10.0 的版本进行编译时,我想将编译器选项设置为: scalacOptions ++= Seq( "-deprecation", "-unchecked" ) 当使用大于或等于 2.10.0 的版本进行编译时: ..
发布时间:2022-01-24 22:08:55 其他开发

可以避免这种自由项变量错误(在宏扩展时产生)吗?

我正在开发 DSL,但在扩展宏时遇到“免费期限"故障.我想知道是否可以避免.我已将问题简化为以下情况. 假设我们有这个表达式: val list = join {0123}打印(列表) 其中join是一个宏,它的实现是: def join(c: Ctx)(a: c.Expr[Int]): c.Expr[List[Int]] = {导入 c.mirror._一棵树匹配{case Bloc ..
发布时间:2022-01-11 20:08:38 其他开发

如何在 Scala 中打印扩展宏?

我正在用 Scala 编写一个宏,但是当我调用它时,我收到一条错误消息,提示“Double 不接受参数".很明显,宏构建 AST 的方式有问题.那么我怎样才能看到扩展的宏呢?有没有办法在运行时调用宏实现? 解决方案 为编译器提供 -Ymacro-debug-lite 或 -Ymacro-debug-verbose 选项. 在我的脑海中,打印的 AST 的细化由 -Yshow-tree ..
发布时间:2022-01-11 20:03:28 其他开发

从宏中获取具有匿名类方法的结构类型

假设我们要编写一个宏来定义一个带有一些类型成员或方法的匿名类,然后创建该类的一个实例,该类的静态类型为具有这些方法的结构类型等.这可以通过宏系统实现在 2.10.0 中,类型成员部分非常简单: object MacroExample 扩展 ReflectionUtils {导入 scala.language.experimental.macros导入 scala.reflect.macros.C ..
发布时间:2022-01-11 19:36:51 其他开发

在Scala中使用reify(获取AST)表达式的最简单方法是什么?

我正在寻找 -print 或 javap 的替代方案,以此来了解编译器在 Scala 中的作用.使用新的反射/宏库,reify 似乎是一个很好的选择,如retronym 的macrocosm 的 desugar.它甚至显示了在 M4 之前人们是如何做到这一点的. 所以问题是,我可以在 Scala 的 REPL 上键入最短/最简单的东西来获取表达式的 AST,后 Scala 2.10.0-M4 ..
发布时间:2022-01-11 19:23:13 其他开发

在 Scala 2.10 中为所有集合设置并行度级别?

我了解如何通过可变的 tasksupport 字段为单个并行集合设置并行度级别(参见 https://stackoverflow.com/a/5425354/82970). 如何在 Scala 2.10 中为所有新的并行集合设置并行度级别? 一个附属问题 --- tasksupport 是否与由它构建的新并行集合“继承"的并行集合相关联?(例如使用 take、map 等) 解决方 ..
发布时间:2021-12-30 21:32:06 其他开发

如何从只有索引的 Scala 列表中删除项目?

我有一个列表如下: val internalIdList: List[Int] = List()internalIdList = 列表(11、12、13、14、15) 从这个列表中删除第三个元素以获得: internalIdList = List(11, 12, 14, 15) 我不能使用ListBuffer,不得不维护现有的结构.我该怎么办? 谢谢大家 解决方案 简单使用 ..
发布时间:2021-12-23 15:38:34 其他开发

IntelliJ IDEA 报告在 Controller 中使用路由时突出显示错误

我有一个 Scala Play 项目.我正在使用 Play 2.2.1.我下载了 Scala、支持 Play 2 和 SBT 插件.一切正常,但是当我在控制器中对 Action 调用路由时出现以下错误(看截图): 我使用的是 IntelliJ IDEA 12.1.6 Ultimate 版本.Scala 版本 2.10.2 有人知道如何解决这个问题吗? 提前致谢! 编辑 ..
发布时间:2021-12-18 10:26:28 其他开发

在 Scala 中使用 reify(获取 AST)表达式的最简单方法是什么?

我正在寻找 -print 或 javap 的替代方案,以此来确定编译器在 Scala 中的作用.使用新的反射/宏库,reify 似乎是一个很好的候选者,如 retronym 的 所示macrocosm 的脱糖.它甚至显示了人们过去是如何做到这一点的,在 M4 之前. 所以问题是,在 Scala 2.10.0-M4 之后,我可以在 Scala 的 REPL 上输入的最短/最简单的东西是什么以获 ..
发布时间:2021-12-07 13:20:55 其他开发

从字符串生成一个类并在 Scala 2.10 中实例化它

在 Scala 2.10 中,我如何从字符串(可能使用 Toolbox api)生成一个类,以便稍后使用 Scala 的反射进行实例化? 解决方案 W.r.t 编译工具箱只能运行表达式 = 返回值,但不能运行带有编译结果的类或文件/字节数组. 但是仍然可以实现您想要的,因为在 Scala 中使用隐式值可以很容易地从类型级别转到值级别: 编辑.在 2.10.0-RC1 中,Too ..
发布时间:2021-12-07 12:52:40 其他开发

Scala 的“后缀操作"

我找了半个小时,还是没弄明白. 在SIP:模块化语言功能中有许多功能将需要在 Scala 2.10 中显式“启用"(import language.feature).其中有 postfixOps,我在任何地方都找不到参考.此功能究竟允许什么? 解决方案 它允许您在后缀位置使用运算符语法.例如 List(1,2,3)尾部 而不是 List(1,2,3).tail 在这个无害的示 ..
发布时间:2021-12-07 12:51:13 其他开发

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

我对 TypeTags 的了解只是它们以某种方式取代了 Manifests.互联网上的信息很少,我无法很好地理解这个主题. 因此,如果有人分享了一些有关 TypeTag 的有用材料的链接,包括示例和流行用例,我会很高兴.也欢迎详细解答和解释. 解决方案 一个 TypeTag 解决了 Scala 的类型在运行时被擦除(类型擦除)的问题.如果我们想做 class Foo类 Bar 扩展 ..
发布时间:2021-12-07 12:36:01 其他开发

更新不可变 AST 的最简单方法是什么?

在使用宏时,我已经到了需要更新 AST 中满足特定条件的节点的地步(我一直在努力避免它).例如,假设我想更新每个节点: 文字(常量(1)) 值: 文字(常量(2)) 那些 AST 节点可以位于表达式树中的任何位置,因此我无法使用临时模式匹配器.显然,我最不想做的事情是编写一个能够覆盖所有编译器原语的完整模式匹配器.我一直在搜索 API 但我的印象是,collect 和 traversabl ..
发布时间:2021-11-26 18:00:58 其他开发