小编lit*_*ito的帖子

在Akka测试演员

当我运行测试actor的基础示例时:

class MySpec(_system: ActorSystem) extends TestKit(_system) with ImplicitSender
  with WordSpec with MustMatchers with BeforeAndAfterAll {
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

class WordSpec needs to be a trait to be mixed in
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

scala akka scalatest

29
推荐指数
2
解决办法
3721
查看次数

用于基本特性的无形定义镜头

我有下一个代码

trait A { val id: Int } 
case class B(id: Int) extends A 
case class C(id: Int, name: String) extends A
Run Code Online (Sandbox Code Playgroud)

我想为所有类层次结构定义公共镜头:

import shapeless._
import lens._ 
val idLens = lens[A] >> 'id
Run Code Online (Sandbox Code Playgroud)

但我得到错误: could not find implicit value for parameter mkLens: shapeless.MkFieldLens[A,Symbol with shapeless.tag.Tagged[String("id")]]

是否可以为所有孩子定义镜头trait A

scala shapeless

10
推荐指数
1
解决办法
454
查看次数

Sbt在bintray发布

我有下一个配置:

lazy val mainProject = Project(
    id = "project-helper",
    base = file("."),
    settings = Project.defaultSettings ++ Seq(
      name := "my-first-project",
      version := "0.1-SNAPSHOT",
      scalaVersion := "2.10.2",
      licenses += ("MIT", url("http://opensource.org/licenses/MIT")),
      publishMavenStyle := false,
      pomExtra := pomXml,
      publishArtifact in Test := false,
      resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases",
      libraryDependencies ++= Seq(
        "org.scala-lang"    %  "scala-reflect"   % "2.10.3",
        "org.scalamacros"   %  "quasiquotes_2.10.3" % "2.0.0-M3"
      ),
      addCompilerPlugin("org.scalamacros" % "paradise" % "2.0.0-M3" cross CrossVersion.full)
    )
  )
Run Code Online (Sandbox Code Playgroud)

我想把它发布成一个bintray.

我这样做publish但是我得到了错误:

    java.lang.RuntimeException: Repository for publishing is not …
Run Code Online (Sandbox Code Playgroud)

sbt bintray

6
推荐指数
1
解决办法
1629
查看次数

阿卡:测试演员得到了消息

我有下一个代码:

//TestActor got some message  
class TestActor extends Actor {

  def receive = {
    case string: String => //.... 
  }
}
//TestReg when create get ActorRef, when i call `pass` method, then should pass text to ActorRef
class TestReg(val actorRef: ActorRef) {
  def pass(text: String) {
   actorRef ! text
  }
}
Run Code Online (Sandbox Code Playgroud)

当我写测试时:

class TestActorReg extends TestKit(ActorSystem("system")) with ImplicitSender
   with FlatSpecLike with MustMatchers with BeforeAndAfterAll {

   override def afterAll() {
     system.shutdown()
   }

   "actorReg" should "pass text to actorRef" in {
      val …
Run Code Online (Sandbox Code Playgroud)

akka scalatest

5
推荐指数
1
解决办法
3621
查看次数

Scala Macro:获取param默认值

我有下一个代码,我想从值中提取默认参数.

//
def extractor[T] = macro extractorImpl[T]

def extractorImpl[T: c.WeakTypeTag](c: Context) = {
  //first i got a type contructor
  ???
}
Run Code Online (Sandbox Code Playgroud)

我尝试attachmentsattachments.all返回一个Set[Any](例如)SymbolSourceAttachment(val name: String = "new name")

SymbolSourceAttachment包含ValDef但我不知道如何从中提取SymbolSourceAttachment ValDef.

顺便说一句我应该得到一个 Map[String, String]("name" -> "new name")

例:

case class Person(name: String = "new name")

object Macro {
  def extractor[T] = macro extractorImpl[T]

  def extractorImpl[T: c.WeakTypeTag](c: Context) = {
    import c.universe._

    c.weakTypeOf[T].declarations.collect {
      case a: MethodSymbol if a.isConstructor =>
        a.paramss.collect …
Run Code Online (Sandbox Code Playgroud)

scala-macros

3
推荐指数
1
解决办法
1419
查看次数

Twitter标签带有垂直文本

我用它twitter-bootstrap来创建一个接口.但我不知道如何创建tab-widget垂直文本.对于文本转换,我使用:

-moz-transform:rotate(270deg); 
-moz-transform-origin: bottom left;
-webkit-transform: rotate(270deg);
-webkit-transform-origin: bottom left;
-o-transform: rotate(270deg);
-o-transform-origin:  bottom left;
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
Run Code Online (Sandbox Code Playgroud)

谢谢.

css less twitter-bootstrap

1
推荐指数
1
解决办法
6322
查看次数

如何从源代码构建PrototypeJS?

我克隆了prototype.js存储库,但是当我尝试构建时,我得到错误:

rake aborted!
uninitialized constant Sprockets::Secretary
Run Code Online (Sandbox Code Playgroud)

是什么原因?

rake build prototypejs sprockets

1
推荐指数
1
解决办法
218
查看次数

Scala与多个未来合作

我有两个返回的数据源 List[Int]

// first work with postgresql database

object Db {

  def get: Future[List[Int]] = // impl

}
// second it's remote service
object Rs {
  def get: Future[List[Int]] = // impl
}
Run Code Online (Sandbox Code Playgroud)

然后我想返回两个列表.但我不知道如何处理异常:

  1. Db可能抛出ConnectionUnavailable

  2. 远程服务 - 错误请求或InternalServer错误

  3. 两者 - TimeoutException

但是,当我只有db的结果时,我想返回它.如果我有来自db和远程服务的结果,我想返回两个列表的总和.

如何处理这个案子?

scala akka

1
推荐指数
1
解决办法
311
查看次数

scalaz可折叠的作曲

我有下一个代码

val listOption: List[Option[Int]] = List(1.some, none, 2.some)
Run Code Online (Sandbox Code Playgroud)

我想折叠元素,我写下一个代码

val result = listx.fold(0.some)((acc, el) => {
  (acc, el) match {
    case (Some(a), Some(b)) => Some(a + b)
    case (Some(a), _) => Some(a)
    case (_, Some(b)) => Some(b)
    case _ => el
  }
})
println(result.getOrElse(0)) // => 3 
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但我在scalaz来源中看到下一个三重奏

val composeFold = Foldable[List] compose Foldable[Option]
composeFold.fold(listOption) // => 3
Run Code Online (Sandbox Code Playgroud)

但我不明白它是如何正确的工作,以及为什么scalaz不将这些方法混合到listOption实例中,以及scala fold和scalaz 之间的区别fold

scala scalaz scalaz7

1
推荐指数
1
解决办法
144
查看次数