【问题标题】:Function that chooses between two values? [Groovy][Jenkins]在两个值之间进行选择的函数? [时髦][詹金斯]
【发布时间】:2020-09-09 18:11:06
【问题描述】:

我想做什么:
我有一个变量需要分配一个值,该值在每次调用该方法时都会发生变化。每次代码运行时,它都会在两个值之间循环,字符串 1 或字符串 2。
这将是一个函数,它是 Jenkins 管道的 Groovy 脚本的一部分:第一次围绕变量将分配给 string1,第二次分配给 string2,第三次再次分配给 string1,依此类推。 我试过这个 sn-p 但使用 Random 它会重复字符串,我只是希望它在两个值之间循环。
Python有一个随机选择属性来限制选择,在groovy中找不到。 How to choose randomly between two values?

def test = ""
def string1or2(test) {
    test = ["string", "string2"]
    assert test instanceof List
    def rand = test.sort {Math.random()}
    println(rand[0])
    return(rand[0])
}
string1or2(test)

【问题讨论】:

    标签: jenkins groovy jenkins-groovy


    【解决方案1】:

    试试这个:

    import groovy.transform.Field
    
    @Field
    def index = 0
    @Field
    def options = ['string1', 'string2']
    
    def string1or2() {
        return options[(index++) % options.size()]
    }
    
    // print 10 values
    10.times { println string1or2() }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-26
      • 2023-03-12
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多