Tag: scala

scala – 任何与generics中的下划线

Scala中的以下generics定义之间有什么不同: class Foo[T <: List[_]] 和 class Bar[T <: List[Any]] 我的直觉告诉我他们是一样的,但后者更明确。 我发现前者编译但后者不编译的情况,但不能把我的手指放在确切的区别。 谢谢! 编辑: 我可以再投入混合? class Baz[T <: List[_ <: Any]]

Play Framework 2.1 – 找不到隐式的ExecutionContext

我打电话给这样的webservice: WS .url(url) .get .map { response => // error occurs on this line response.status match { case 200 => Right(response.json) case status => Left(s"Problem accessing api, status '$status'") } } 完整的错误: Error: Cannot find an implicit ExecutionContext, either require one yourself or import ExecutionContext.Implicits.global

隐藏在Scala中的性能成本?

我遇到了这个老问题 ,并用scala 2.10.3做了下面的实验。 我重写了Scala版本以使用明确的尾recursion: import scala.annotation.tailrec object ScalaMain { private val t = 20 private def run() { var i = 10 while(!isEvenlyDivisible(2, i, t)) i += 2 println(i) } @tailrec private def isEvenlyDivisible(i: Int, a: Int, b: Int): Boolean = { if (i > b) true else (a % i == 0) && isEvenlyDivisible(i+1, […]

函数语法puzzler在scalaz中

在观看Nick Partidge关于scalaz的演示 之后 ,我看到了这个例子,这真是太棒了: import scalaz._ import Scalaz._ def even(x: Int) : Validation[NonEmptyList[String], Int] = if (x % 2 ==0) x.success else "not even: %d".format(x).wrapNel.fail println( even(3) <|*|> even(5) ) //prints: Failure(NonEmptyList(not even: 3, not even: 5)) 我试图理解<|*|>方法在做什么,这里是源代码: def <|*|>[B](b: M[B])(implicit t: Functor[M], a: Apply[M]): M[(A, B)] = <**>(b, (_: A, _: B)) 好吧,这相当混乱(!) – […]

Scala(和Java)中的类和types有什么区别?

斯卡拉 Scala中的类和types之间的区别在哪里,为什么这个区别很重要? 这只是从语言devise的angular度考虑,还是在编程Scala时有“实际”的影响? 或者是“确保types系统的界限”(根本Nothing于我的脑海里)? Java的 Java中还可以认识到上面提到的多less个考虑/差异/问题? (请参阅types和类的区别是什么?作为一个语言不可知的介绍。)

在Scala中一次捕获多个exception

如何在Scala中一次捕获多个exception? 有没有比在C#中更好的方法: 一次捕获多个exception?

我如何比较scala中的两个数组?

val a: Array[Int] = Array(1,2,4,5) val b: Array[Int] = Array(1,2,4,5) a==b // false 有没有一种模式匹配的方式来查看两个数组(或序列)是否相等?

基于返回types推理的意外隐式parsing

给定一个typestypes,应根据返回types执行实例select: case class Monoid[A](m0: A) // We only care about the zero here implicit def s[T] : Monoid[Set[T]] = Monoid(Set.empty[T]) implicit def l[T] : Monoid[List[T]] = Monoid(List.empty[T]) def mzero[A](implicit m: Monoid[A]) : A = m.m0 为什么Scala(2.11.6)无法parsing正确的实例: scala> mzero : List[Int] <console>:24: error: ambiguous implicit values: both method s of type [T]=> Monoid[Set[T]] and method l […]

高性能并发MultiMap Java / Scala

我正在寻找一个高性能,并发的MultiMap。 我到处search,但我根本找不到与ConcurrentHashMap(只locking散列数组的一部分)相同方法的解决scheme。 多图将被读取,添加和经常移除。 multimap键将是一个string,它的值将是任意的。 我需要O(1)find给定键的所有值,O(N)可以删除,但O(logN)将是首选。 关键是删除给定键的最后一个值将从键删除容器的值,以防止泄漏内存。 这是我构build的解决scheme,可用于ApacheV2: Index(multimap)

unit testing斯卡拉

我刚刚开始学习Scala语言,并希望在TDD中做到这一点。 你可以分享你的Scalaunit testing框架的经验和他们的利弊。 我正在使用IntelliJ IDEA进行Scala开发,因此能够使用IDE支持来运行testing将会很好。