小编oct*_*ian的帖子

C++枚举类可以有方法吗?

我有一个带有两个值的枚举类,我想创建一个接收值并返回另一个值的方法.我还想保持类型安全(这就是我使用枚举类而不是枚举的原因).

http://www.cplusplus.com/doc/tutorial/other_data_types/没有提及方法的任何内容但是,我的印象是任何类型的类都可以有方法.

c++ methods enums

117
推荐指数
5
解决办法
7万
查看次数

@NonCPS在Jenkins管道脚本中的作用是什么?

我在Jenkins有一个管道脚本.

我以前得到这个例外:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:不允许使用方法的脚本groovy.json.JsonSlurperClassic parseText java.lang.String

我查看了异常,我发现了一些迹象表明我应该注释发生异常的方法@NonCPS.我做到了这一点,却没有真正理解这是做什么的.

然而,在那之后,我投入该方法的异常不再被一个try子句捕获.

那背后的想法是@NonCPS什么?使用它有什么影响?

groovy jenkins

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

Git创建分离HEAD所在的分支

我试过这样的事情:

git branch temp
Run Code Online (Sandbox Code Playgroud)

创建一个新的分支,但不要移动HEAD.但我得到:

# Not currently on any branch.
Run Code Online (Sandbox Code Playgroud)

我不想合并任何东西,我只想要一个新的分支HEAD.

git git-branch git-detached-head

76
推荐指数
2
解决办法
4万
查看次数

java.lang.NoSuchMethodError:scala.Predef $ .refArrayOps

我有以下课程:

import scala.util.{Success, Failure, Try}


class MyClass {

  def openFile(fileName: String): Try[String]  = {
    Failure( new Exception("some message"))
  }

  def main(args: Array[String]): Unit = {
    openFile(args.head)
  }

}
Run Code Online (Sandbox Code Playgroud)

其中有以下单元测试:

class MyClassTest extends org.scalatest.FunSuite {

  test("pass inexistent file name") {
    val myClass = new MyClass()
    assert(myClass.openFile("./noFile").failed.get.getMessage == "Invalid file name")
  }

}
Run Code Online (Sandbox Code Playgroud)

当我运行时,sbt test我收到以下错误:

java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
        at org.scalatest.tools.FriendlyParamsTranslator$.translateArguments(FriendlyParamsTranslator.scala:174)
        at org.scalatest.tools.Framework.runner(Framework.scala:918)
        at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:533)
        at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:527)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
        at scala.collection.immutable.Map$Map1.foreach(Map.scala:109)
        at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
        at scala.collection.AbstractTraversable.map(Traversable.scala:105)
        at sbt.Defaults$.createTestRunners(Defaults.scala:527)
        at sbt.Defaults$.allTestGroupsTask(Defaults.scala:543)
        at …
Run Code Online (Sandbox Code Playgroud)

scala

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

差异Await.ready和Await.result

我知道这是一个非常开放的问题,我道歉.

我可以看到Await.ready返回Awaitable.typeAwait.result返回,T但我仍然混淆它们.

两者有什么区别?

是一个阻止而另一个是非阻塞?

scala future

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

没有这样的DSL方法`阶段`

我正在尝试为Jenkins创建我的第一个Groovy脚本:

看了这里https://jenkins.io/doc/book/pipeline/后,我创建了这个:

node {
  stages {

    stage('HelloWorld') {
      echo 'Hello World'
    }

    stage('git clone') {
      git clone "ssh://git@mywebsite.com/myrepo.git"
    }

  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我得到了:

java.lang.NoSuchMethodError: No such DSL method "stages" found among steps

我错过了什么?

另外,如何在不用纯文本编写密码的情况下将我的凭据传递给Git存储库?

groovy jenkins jenkins-pipeline

25
推荐指数
2
解决办法
4万
查看次数

在Jenkins管道脚本中隐藏密码

我正试图在我的Jenkins构建中屏蔽密码.

我一直在尝试使用mask-passwords插件.

但是,这似乎不适用于我的Jenkins管道脚本,因为如果我定义密码PASSWD1然后我在脚本中使用它${PASSWD1},我会得到:

No such DSL method '$' found among steps [addToClasspath, ansiColor, ansiblePlaybook, ....]
Run Code Online (Sandbox Code Playgroud)

如果我使用env.PASSWD1,那么它的值将被解析为null.

那么我该如何在Jenkins管道脚本中屏蔽密码呢?

jenkins jenkins-pipeline

25
推荐指数
2
解决办法
4万
查看次数

无法提交表单react-bootstrap

我有以下react-bootstrap组件:

        <FormGroup onSubmit={this.gotEmail} role="form">
          <FormControl type="text" className="form-control"/>
          <Button className="btn btn-primary btn-large centerButton" type="submit">Send</Button>
        </FormGroup>
Run Code Online (Sandbox Code Playgroud)

我想点击"发送"按钮时提交表单.

但是,如果单击该按钮,则控件无法访问该this.gotEmail方法.

为什么会这样?

twitter-bootstrap reactjs react-bootstrap

18
推荐指数
3
解决办法
2万
查看次数

致命:无法读取用户名,没有这样的设备

在我的 Jenkins 工作中,我按以下方式配置 git:

sh("git config user.email my.email@google.com")
sh("git config user.name my-user-name")
sh("git tag ${BUILD_NUMBER}")
sh("git push origin --tags")
Run Code Online (Sandbox Code Playgroud)

但是,在最后一行,当我尝试推送到我的存储库时,我收到有关存储库的以下错误:

fatal: could not read Username for 'http://my-git-repo.com:8000': No such device or address
Run Code Online (Sandbox Code Playgroud)

出了什么问题,如何将其推送到存储库?

git jenkins

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

找不到:值assertThrows

我有以下测试类:

import org.scalatest.FunSuite

@RunWith(classOf[JUnitRunner])
class NodeScalaSuite extends FunSuite {
Run Code Online (Sandbox Code Playgroud)

有了这个测试方法:

  test("Now doesn't terminate future that's not done") {
    val testFuture: Future[Int] = Future{
      wait(1000)
      10
    }
    assertThrows[NoSuchElementException]{
      testFuture.now
    }
  }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

not found: value assertThrows
Run Code Online (Sandbox Code Playgroud)

我查看了http://doc.scalatest.org/3.0.0/#org.scalatest.FunSuite上的ScalaTest文档,与我类似的代码似乎工作正常.

有什么问题?

scala scalatest

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