Random 在Groovy中生成随机数并传递给方法
我有Random 在Groovy中生成随机数并传递给方法,random,groovy,Random,Groovy,我有select(inta,intb,intc)方法,我想传递3个随机生成的值和select()。因此,我: public void select() { Random random = new Random() def values= [] (1..3).each { values<< random.nextInt(100 + 1) } select(values[0], val
select(inta,intb,intc)
方法,我想传递3个随机生成的值和select()
。因此,我:
public void select() {
Random random = new Random()
def values= []
(1..3).each {
values<< random.nextInt(100 + 1)
}
select(values[0], values[1], values[2])
}
public void select(){
Random Random=新的Random()
def值=[]
(1..3)每个{
值您可以这样做:
def select() {
select(*new Random().with { r -> (1..3).collect { r.nextInt() } })
}
或者,如果您不喜欢带有
的,并且希望它更具解释性:
def select() {
def r = new Random()
def args = (1..3).collect { r.nextInt() }
select(*args)
}
您可以这样做:
def select() {
select(*new Random().with { r -> (1..3).collect { r.nextInt() } })
}
或者,如果您不喜欢带有
的,并且希望它更具解释性:
def select() {
def r = new Random()
def args = (1..3).collect { r.nextInt() }
select(*args)
}
如果使用Java 8,则可以使用生成无限流的Random.ints()方法,并使用limit(3)查看前三个:
再次使用splat操作符展平数组如果使用Java 8,可以使用生成无限流的Random.ints()方法,并使用limit(3)查看前三个:
再次使用splat操作符展平数组我就知道了。Groovy可以做得更短。谢谢@tim_yates。但是在select(*args)中*在args前面是什么意思?@Xelian这是我知道的。Groovy可以做得更短。谢谢@tim_yates。但是*在select(*args)中args前面是什么意思?@Xelian这是