小编Noe*_*Yap的帖子

如何将案例类与varargs相匹配?

我有以下Akka演员代码:

class GenerateBoardActor extends Actor {
  import GenerateBoardActor._

  def receive = {
    case GenerateBoard(configuration: Seq[Configuration.PiecesConfigSpec]) => {
      sender ! Board(configuration: _*)
    }

    case generateBoard: GenerateBoard => {
      sender ! Board(generateBoard.configuration: _*)
    }
  }
}

object GenerateBoardActor {
  case class GenerateBoard(configuration: Configuration.PiecesConfigSpec*)
}
Run Code Online (Sandbox Code Playgroud)

我认为这两个案例条款应该是等价的,但只有第二个条款才能匹配.是否可以使用第一个子句的语法来匹配case类和varargs?或者第一个子句的正确语法是什么?

scala

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

有没有标准的方法来做'actorFor orElse actorOf`?

我想得到一个ActorRef可能已经创建的.是否有一种标准的呼叫方式context.actorFor,只有当它没有返回实时ActorRef通话时context.actorOf?反之亦然(即呼叫,context.actorOf并且只有当演员已经存在时,才打电话context.actorFor).

akka

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

如何通过REST API提交Jenkins工作?

以下"执行系统Groovy脚本"构建任务更新构建的描述以添加一个按钮,该按钮将提交另一个参数化的Jenkins作业:

import hudson.model.Cause
import hudson.model.Job
import jenkins.model.Jenkins

final JOB_NAME = 'my-job'

final jenkins = Jenkins.instance
final job = jenkins.getItemByFullName(JOB_NAME, Job.class)
final currentBuild = Thread.currentThread().executable
final buildNumber = currentBuild.getNumber()

job.builds
    .findAll { build -> build.number == buildNumber }
    .each { build ->
        build.setDescription("""
            <button
                type='button'
                onclick='javascript:
                    var another_job = function() {
                        parameters = {json: {parameter: [{name: "P4_CHANGELIST", value: "0"}]}};
                        new Ajax.Request("http://builds/job/another-job/build", {
                            method: "post",
                            parameters: Object.toJSON(parameters)
                        });
                    };
                    another_job()'>Continue</button>""")
    }
Run Code Online (Sandbox Code Playgroud)

但是单击"继续"按钮后,请求将返回400 Bad Request.它看起来像是因为构建参数没有正确传递(如果我从另一个作业中删除构建参数而不通过参数发送,那么工作正常).

我不确定问题是由于错误的引用还是我通过构建参数发送的方式.

javascript groovy prototypejs jenkins

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

如何在AngularJS中重复元素?

我知道我可以ng-repeat用来迭代集合.如何迭代范围.例如,类似于:

<div class='aoeu' ng-repeat='count in range(1,5)'>
  <div id='{{count}}'></div>
</div>
Run Code Online (Sandbox Code Playgroud)

angularjs

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

在Java或Groovy中,如何查找byte []的文件类型?

我有一个byte[]我通过电线,并想要验证它是一个JPEG.如何才能做到这一点?

基本上,无需写出文件,我或多或少地会做file命令的作用:

$ file aoeu.jpeg
aoeu.jpeg: JPEG image data, JFIF standard 1.02
Run Code Online (Sandbox Code Playgroud)

java

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

如何使用Java API创建和检索具有复杂类型的Elasticsearch字段?

我有以下内容:

final duration = (jsonBuilder()
        .startObject()
        .field('start', new DateTime(testResult.startTime, dateTimeZone))
        .field('end', new DateTime(testResult.endTime, dateTimeZone))
        .endObject())

client.prepareIndex('builds', 'test')
        .setSource(jsonBuilder()
                .startObject()
                .field("duration", duration)
                .endObject())

SearchResponse searchResponse = client.prepareSearch('builds')
        .setQuery(boolQuery()
                .must(termQuery('_type', 'test')))
        .execute()
        .actionGet()

final source = searchResponse.hits.hits[0].source as Map<String, Object>
Run Code Online (Sandbox Code Playgroud)

如何获取的值duration.start,并duration.end从这里?

elasticsearch

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


更简洁的方式来定义Scala Stream对象?

我有以下内容:

val notDivisibleBy2: Stream[Long] = 3L #:: 5L #:: notDivisibleBy2.tail.map(_ + 2)
println(notDivisibleBy2.take(3))
Run Code Online (Sandbox Code Playgroud)

如果5L删除,StackOverflow则发出a.有没有办法让尾部计算工作,所以5L不必指定?

scala stream

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