scala-2.10相关内容
我是否可以在不使用纯SQL的情况下生成具有可变字段数的更新查询? 例如,单列的更新很简单-我只需生成它来创建窄查询。 Query(RolesTable).filter((role: RolesTable.type) => role.id === role_id).map((role: RolesTable.type) => role.name).update(name) 但是,如果
..
使用 Play2 编译应用程序时,有时我的终端上会出现以下消息: [info] 将 1 个 Scala 源代码编译到 ~/target/scala-2.10/classes... [警告] 有 1 个功能警告;使用 -feature 重新运行以了解详细信息 [警告] 发现一个警告 [成功] 1s编译完成 如何获得有关这些警告的更多信息?它必须是 sbt 的一个选项,但我不知道在哪
..
我正在使用 SBT 为 Scala 2.8、2.9 和(希望)2.10 交叉构建的项目.我想在仅使用 2.10 编译时添加 -feature 选项. 也就是说,当我使用小于 2.10.0 的版本进行编译时,我想将编译器选项设置为: scalacOptions ++= Seq( "-deprecation", "-unchecked" ) 当使用大于或等于 2.10.0 的版本进行编译时:
..
跟进this question,我试图弄清楚如何在对象上调用方法.相关定义为: trait ThirdParty { def invoke = println("right") }特质 WeatherIcon { def invoke = println("wrong") }我的班级{对象 objA 扩展第三方对象 objB 扩展 WeatherIcon} 我得到了一个 objA 的 Symb
..
我正在开发 DSL,但在扩展宏时遇到“免费期限"故障.我想知道是否可以避免.我已将问题简化为以下情况. 假设我们有这个表达式: val list = join {0123}打印(列表) 其中join是一个宏,它的实现是: def join(c: Ctx)(a: c.Expr[Int]): c.Expr[List[Int]] = {导入 c.mirror._一棵树匹配{case Bloc
..
我正在用 Scala 编写一个宏,但是当我调用它时,我收到一条错误消息,提示“Double 不接受参数".很明显,宏构建 AST 的方式有问题.那么我怎样才能看到扩展的宏呢?有没有办法在运行时调用宏实现? 解决方案 为编译器提供 -Ymacro-debug-lite 或 -Ymacro-debug-verbose 选项. 在我的脑海中,打印的 AST 的细化由 -Yshow-tree
..
我将从一个例子开始.这是 Scala 2.10 中作为宏的元组的 List.fill 的等价物: 导入 scala.language.experimental.macros导入 scala.reflect.macros.Context对象元组示例 {def fill[A](arity: Int)(a: A): Product = macro fill_impl[A]def fill_impl[A
..
假设我们要编写一个宏来定义一个带有一些类型成员或方法的匿名类,然后创建该类的一个实例,该类的静态类型为具有这些方法的结构类型等.这可以通过宏系统实现在 2.10.0 中,类型成员部分非常简单: object MacroExample 扩展 ReflectionUtils {导入 scala.language.experimental.macros导入 scala.reflect.macros.C
..
我正在寻找 -print 或 javap 的替代方案,以此来了解编译器在 Scala 中的作用.使用新的反射/宏库,reify 似乎是一个很好的选择,如retronym 的macrocosm 的 desugar.它甚至显示了在 M4 之前人们是如何做到这一点的. 所以问题是,我可以在 Scala 的 REPL 上键入最短/最简单的东西来获取表达式的 AST,后 Scala 2.10.0-M4
..
在 Play 2.3 中,我有一个带有单个可选双成员的 case 类: case class SomeClass(foo: Option[Double]) 我需要一个将成员处理为可为空的 JSON 写入转换器: 隐式 val someClassWrite: Writes[SomeClass] = ??? Play 文档提供了一个示例: case class DisplayName(nam
..
我了解如何通过可变的 tasksupport 字段为单个并行集合设置并行度级别(参见 https://stackoverflow.com/a/5425354/82970). 如何在 Scala 2.10 中为所有新的并行集合设置并行度级别? 一个附属问题 --- tasksupport 是否与由它构建的新并行集合“继承"的并行集合相关联?(例如使用 take、map 等) 解决方
..
我有一个列表如下: val internalIdList: List[Int] = List()internalIdList = 列表(11、12、13、14、15) 从这个列表中删除第三个元素以获得: internalIdList = List(11, 12, 14, 15) 我不能使用ListBuffer,不得不维护现有的结构.我该怎么办? 谢谢大家 解决方案 简单使用
..
我有一个 Scala Play 项目.我正在使用 Play 2.2.1.我下载了 Scala、支持 Play 2 和 SBT 插件.一切正常,但是当我在控制器中对 Action 调用路由时出现以下错误(看截图): 我使用的是 IntelliJ IDEA 12.1.6 Ultimate 版本.Scala 版本 2.10.2 有人知道如何解决这个问题吗? 提前致谢! 编辑
..
所以我有这个宏: import language.experimental.macros导入 scala.reflect.macros.ContextFoo类class Bar extends Foo { def launchMissiles = "launching" }对象 FooExample {def foo: Foo = 宏 foo_impldef foo_impl(c: Contex
..
我正在寻找 -print 或 javap 的替代方案,以此来确定编译器在 Scala 中的作用.使用新的反射/宏库,reify 似乎是一个很好的候选者,如 retronym 的 所示macrocosm 的脱糖.它甚至显示了人们过去是如何做到这一点的,在 M4 之前. 所以问题是,在 Scala 2.10.0-M4 之后,我可以在 Scala 的 REPL 上输入的最短/最简单的东西是什么以获
..
在 Scala 2.10 中,我如何从字符串(可能使用 Toolbox api)生成一个类,以便稍后使用 Scala 的反射进行实例化? 解决方案 W.r.t 编译工具箱只能运行表达式 = 返回值,但不能运行带有编译结果的类或文件/字节数组. 但是仍然可以实现您想要的,因为在 Scala 中使用隐式值可以很容易地从类型级别转到值级别: 编辑.在 2.10.0-RC1 中,Too
..
我找了半个小时,还是没弄明白. 在SIP:模块化语言功能中有许多功能将需要在 Scala 2.10 中显式“启用"(import language.feature).其中有 postfixOps,我在任何地方都找不到参考.此功能究竟允许什么? 解决方案 它允许您在后缀位置使用运算符语法.例如 List(1,2,3)尾部 而不是 List(1,2,3).tail 在这个无害的示
..
我对 TypeTags 的了解只是它们以某种方式取代了 Manifests.互联网上的信息很少,我无法很好地理解这个主题. 因此,如果有人分享了一些有关 TypeTag 的有用材料的链接,包括示例和流行用例,我会很高兴.也欢迎详细解答和解释. 解决方案 一个 TypeTag 解决了 Scala 的类型在运行时被擦除(类型擦除)的问题.如果我们想做 class Foo类 Bar 扩展
..
Akka 中(或 Scala 2.10 的标准库中)是否有方法可以将 Future[A] 转换为 Future[Either[Exception,A]]?我知道你可以写 f.map(Right(_)).recover {情况e:异常=>左(e)} 这似乎是一项很常见的任务,我不知道我是否忽略了一些东西.我对 Scala 2.9/Akka 和 Scala 2.10 的答案很感兴趣. 解决方
..
在使用宏时,我已经到了需要更新 AST 中满足特定条件的节点的地步(我一直在努力避免它).例如,假设我想更新每个节点: 文字(常量(1)) 值: 文字(常量(2)) 那些 AST 节点可以位于表达式树中的任何位置,因此我无法使用临时模式匹配器.显然,我最不想做的事情是编写一个能够覆盖所有编译器原语的完整模式匹配器.我一直在搜索 API 但我的印象是,collect 和 traversabl
..