Tag: scala 2.10的

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

我有一个Scala Play项目。 我正在使用Play 2.2.1。 我下载了Scala,Play 2支持和SBT插件。 一切正常,但是当我在Controller中调用Action时会出现以下错误(请看截图): 我正在使用IntelliJ IDEA 12.1.6 Ultimate版本。 斯卡拉版本2.10.2 有人知道如何解决这个问题? 提前致谢! 编辑 当我通过播放控制台中的“play idea”命令将我的项目生成到Intellij IDEA中,并且我在IDEA项目结构中打开项目时是这样的: 然后我看到了答案@millhouse和讨论这个githup( [播放2.2]“玩的想法”创build不工作源目标映射 ),我从源文件夹中删除以下文件夹 : 目标\阶-2.10 \ src_managed \主\控制器 目标\斯卡拉2.10 \ src_managed \主\意见 和“报告突出错误”消失了,但现在又出现了另一个错误: 和 我的路线: 我已经改变了“Sources Folders”,如下所示: 但它不能帮助我。 并保持“未指定的值参数”错误。

Scala 2.10 + Json序列化和反序列化

斯卡拉2.10似乎已经打破了一些老图书馆(至less目前)像jackson和电梯。 目标可用性如下: case class Person(name: String, height: String, attributes: Map[String, String], friends: List[String]) //to serialize val person = Person("Name", ….) val json = serialize(person) //to deserialize val sameperson = deserialize[Person](json) 但是我很难find现有的生成和反序列化JSON的方法,这些方法和Scala 2.10一起工作。 在Scala 2.10中有最好的做法吗?

Scalamacros的静态返回types

所以我有这个macros: import language.experimental.macros import scala.reflect.macros.Context class Foo class Bar extends Foo { def launchMissiles = "launching" } object FooExample { def foo: Foo = macro foo_impl def foo_impl(c: Context): c.Expr[Foo] = c.Expr[Foo](c.universe.reify(new Bar).tree) } 我已经说过三次了,我想让foo返回一个Foo ,但是我可以做以下事情(在2.10.0-RC3中): scala> FooExample.foo res0: Bar = Bar@4118f8dd scala> res0.launchMissiles res1: String = launching 同样的事情发生,如果我删除c.Expr上的types参数。 如果我真的想要确保谁打电话给foo看不到他们得到一个Bar ,我必须在树本身添加一个types归属。 这实际上非常棒,例如,我可以将某个macros指向某种types的模式,并使用表示词汇表中的词的成员方法创build一些Vocabulary类的匿名子类,这些方法将在返回的对象上提供。 不过,我想明白我在做什么,所以我有几个问题。 首先, foo方法实际返回的types是什么? […]

Scala通用方法 – 没有ClassTag可用于T

我相对较新的斯卡拉,并试图定义一个通用的对象方法。 但是,当我引用方法中的参数化types时,我得到“没有ClassTag可用于T”。 这是一个可以说明问题的人为的例子。 scala> def foo[T](count: Int, value: T): Array[T] = Array.fill[T](count)(value) <console>:7: error: No ClassTag available for T def foo[T](count: Int, value: T): Array[T] = Array.fill[T](count)(value) ^ 在此先感谢您帮助理解这里出了什么问题,以及如何使这个人为的例子工作。

Scala的实验性虚拟模式匹配器是什么?

最近我见到了很多关于scala的新“虚拟化”模式匹配器。 我错过了解释它实际上是什么的备忘录…

从string生成一个类,并在Scala 2.10中实例化它

在Scala 2.10中,我怎样从string(可能使用Toolbox api)生成一个类,然后用Scala的reflection来实例化?

loggingScala 2.10macros

我将从一个例子开始。 这里有一个相当于List.fill的元组作为Scala 2.10中的一个macros: import scala.language.experimental.macros import scala.reflect.macros.Context object TupleExample { def fill[A](arity: Int)(a: A): Product = macro fill_impl[A] def fill_impl[A](c: Context)(arity: c.Expr[Int])(a: c.Expr[A]) = { import c.universe._ arity.tree match { case Literal(Constant(n: Int)) if n < 23 => c.Expr( Apply( Select(Ident("Tuple" + n.toString), "apply"), List.fill(n)(a.tree) ) ) case _ => c.abort( c.enclosingPosition, "Desired arity must […]

从macros中获取具有匿名类方法的结构types

假设我们要编写一个macros来定义一个具有某种types成员或方法的匿名类,然后创build一个静态types为该类方法的类的实例,等等。2.10中的这个macros系统是可能的。 0,types成员部分非常简单: object MacroExample extends ReflectionUtils { import scala.language.experimental.macros import scala.reflect.macros.Context def foo(name: String): Any = macro foo_impl def foo_impl(c: Context)(name: c.Expr[String]) = { import c.universe._ val Literal(Constant(lit: String)) = name.tree val anon = newTypeName(c.fresh) c.Expr(Block( ClassDef( Modifiers(Flag.FINAL), anon, Nil, Template( Nil, emptyValDef, List( constructor(c.universe), TypeDef(Modifiers(), newTypeName(lit), Nil, TypeTree(typeOf[Int])) ) ) ), Apply(Select(New(Ident(anon)), nme.CONSTRUCTOR), Nil) […]

在Scala 2.10中通过reflection查找types参数?

使用types标签,我可以看到某些types的参数: scala> import scala.reflect.runtime.universe._ import scala.reflect.runtime.universe._ scala> typeOf[List[Int]] res0: reflect.runtime.universe.Type = List[Int] 但我不能完全弄清楚如何以一般的方式通过编程的方式获得那个“Int”。 (我一直在REPL里徘徊了一个小时,试着在Type上进行排列,看看我能从中得到什么……我得到了很多东西,表明这是一个“列表”,但是find了好运那“Int”!我真的不想诉诸parsingtoString()输出…) 丹尼尔·索布拉尔(Daniel Sobral) 在这里有一个很好的(像往常一样的)快速概览,他在这里非常接近我正在寻找的东西,但是(显然)只有当你碰巧知道,对于那个特定的类,一些特定的方法,询问: scala> res0.member(newTermName("head")) res1: reflect.runtime.universe.Symbol = method head scala> res1.typeSignatureIn(res0) res2: reflect.runtime.universe.Type = => Int 但是我希望有一些更一般的东西,它不涉及在已声明的方法列表中生根,并希望其中一个将捕获标签的当前types信息(并因此泄露)。 如果Scala可以轻松地打印 “List [Int]”,那么为什么要发现这个“Int”部分是如此的困难 – 而不是采用string模式匹配呢? 还是我错过了一些真的,真的很明显? scala> res0.typeSymbol.asInstanceOf[ClassSymbol].typeParams res12: List[reflect.runtime.universe.Symbol] = List(type A) scala> res12.head.typeSignatureIn(res0) res13: reflect.runtime.universe.Type = 格儿…

Scala:什么是TypeTag,我如何使用它?

我所知道的TypeTags是他们以某种方式取代了Manifests。 互联网上的信息是稀缺的,并没有给我一个很好的主题意识。 所以如果有人在TypeTag上分享了一些有用的材料的链接,包括例子和stream行的用例,我会很高兴。 详细的答案和解释也是受欢迎的。