Questions tagged «scala»

Scala是主要针对Java虚拟机的通用编程语言。它旨在以简洁,优雅和类型安全的方式表达常见的编程模式,它融合了命令式和功能性编程风格。它的主要特征是:具有类型推断功能的高级静态类型系统;功能类型;模式匹配; 隐式参数和转换;操作符重载;与Java完全互操作性;并发



9
在Scala中执行HTTP请求
我正在尝试向Web服务发出简单的POST请求,该请求会在Scala中返回一些XML。 看来Dispatch是用于此任务的标准库,但我找不到有关它的文档。我上面链接的主站点详细解释了什么是诺言以及如何进行异步编程,但实际上并未记录API。有一个周期表-看起来有点吓人-但它仅对已经知道要做什么并且只需要提醒隐式语法的人有用。 Scalaz似乎也有一些用于HTTP的功能,但我也找不到任何文档。
74 http  scala  scalaz 


1
Scala通用方法-T没有可用的ClassTag
我对Scala比较陌生,正在尝试定义通用对象方法。但是,当我在方法中引用参数化类型时,将得到“ T没有可用的ClassTag”。这是一个说明问题的人为示例。 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) ^ 在此先感谢您的帮助,以帮助您理解此处的错误以及如何使此示例示例起作用。

4
SBT在本地Maven存储库中找不到文件
我在本地存储库中的Maven依赖项遇到问题。 SBT找不到它。已将日志级别设置为调试,但未获取任何新内容。 这些文件在存储库中。我将粘贴路径从控制台复制到文件资源管理器,它们在那里。 输出: [debug] trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom [debug] tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom [debug] Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0 .0/naggati-2.0.0.pom [debug] trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar [debug] tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar [debug] Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0 .0/naggati-2.0.0.jar [debug] Local Maven Repository: no ivy file nor artifact found for com.twitter#naggati;2.0.0 …
74 scala  maven  sbt 

5
使用正则表达式的Scala捕获组
假设我有以下代码: val string = "one493two483three" val pattern = """two(\d+)three""".r pattern.findAllIn(string).foreach(println) 我希望findAllIn只返回483,但是它返回了two483three。我知道我只能unapply提取那一部分,但是我必须为整个字符串设置一个模式,例如: val pattern = """one.*two(\d+)three""".r val pattern(aMatch) = string println(aMatch) // prints 483 是否有另一种方法可以实现,而不必java.util直接使用类,也可以不使用unapply?

3
在所有Scalatest测试之前或之后做一些事情
我有一套scalatest测试套件,用于测试RESTful API的不同端点。我真的希望将它们分成不同的文件,以实现最佳组织。 我的问题是如何在所有测试之前启动某个东西(就我而言,这是一个HTTP服务器,但并不重要),并在所有测试完成后将其关闭。 我知道BeforeAndAfterAll,但这只能在一个测试文件中之前/之后完成。我需要类似的东西,但是对于所有测试,例如: -在测试之前启动http服务器 -运行所有测试套件 -关闭http服务器
73 scala  scalatest 

1
scala.concurrent.blocking的用例
我遇到了该scala.concurrent.blocking方法,根据Scala文档,这是... 用于指定一段可能被阻塞的代码,从而允许当前的BlockContext调整运行时的行为。正确标记阻止代码可以提高性能或避免死锁。 我有些疑惑: 产生新线程的因素是什么? 这仅适用于scala.concurrent.ExecutionContext.Implicits.global执行上下文还是用户创建的执行上下文? 如果我用blocking {...包装任何可执行文件,该}怎么办? 我们应该使用此构造的任何实际用例。
73 scala  scala-2.10 

1
Scala 2.8集合设计教程
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在我喘不过气来的困惑之后,有什么好的资源可以解释新的Scala 2.8集合库的结构。我很想找到一些有关以下内容的信息: 集合类/性状本身(例如List,Iterable) 为什么存在Like类(例如TraversableLike) 伴随方法有什么作用(例如List.companion) 我如何知道implicit给定点范围内的对象

6
如何获取sbt以使用本地Maven代理存储库(Nexus)?
我有一个sbt(Scala)项目,当前该项目从网络上提取工件。我们希望转向可缓存工件的公司标准化Nexus存储库。从Nexus文档中,我了解了如何对Maven项目执行此操作。但是sbt显然使用了不同的方法。(我了解常春藤以某种方式参与其中,但我从未使用过它,也不了解它是如何工作的。) 如何告诉sbt和/或底层Ivy对所有依赖项使用公司Nexus存储库系统?我想答案是使用某种项目级别的配置文件,以便源存储库的新克隆将自动使用代理。(即,在点目录中处理每个用户的配置文件是不可行的。) 谢谢!
73 scala  maven  ivy  nexus  sbt 

3
如果引发异常,Akka Actor不会终止
我目前正在尝试开始使用Akka,并且遇到了一个奇怪的问题。我的演员有以下代码: class AkkaWorkerFT extends Actor { def receive = { case Work(n, c) if n < 0 => throw new Exception("Negative number") case Work(n, c) => self reply n.isProbablePrime(c); } } 这就是我开始工作的方式: val workers = Vector.fill(nrOfWorkers)(actorOf[AkkaWorkerFT].start()); val router = Routing.loadBalancerActor(SmallestMailboxFirstIterator(workers)).start() 这就是我关闭所有内容的方式: futures.foreach( _.await ) router ! Broadcast(PoisonPill) router ! PoisonPill …


1
记录Scala 2.10宏[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我将从一个例子开始。List.fill在Scala 2.10中,这相当于for元组作为宏: 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) ) ) …

7
为什么Scala的元组语法如此不寻常?
在数学和计算机科学中,元组是元素的有序列表。在集合论中,(有序的)n元组是n个元素的序列(或有序列表),其中n是正整数。 因此,例如,在Python中,可以通过访问元组的第二项t[1]。 在Scala中,只能通过奇怪的名称进行访问t._2。 所以问题是,为什么不能按定义访问序列或列表中的元组数据?是否有某种主意或尚未检查?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.