我对Groovy有点陌生,所以我确信这是一个非常明显的things...but,很难通过谷歌搜索。
在其他语言中,星号代表指针。但是,在这个Groovy代码片段中:
byte[] combineArrays(foo, bar, int start) {
[*foo[0..<start], *bar, *foo[start..<foo.size()]]
}我只能想象事实并非如此。我是说,指针?很帅吗?
我假设这段代码打算传递foo和bar的成员,而不是多维数组。那么星号到底意味着什么呢?
非常感谢你的帮助。
发布于 2012-01-09 15:12:56
这样使用时,*运算符将列表或数组扩展到参数列表中。一点帮助都没有,对吧?不如举个例子吧?假设我们有这样的功能:
def add(Number a, Number b) {
return a + b
}而这张名单
def args = [1, 2]我们不应该这么做
add(args)因为函数需要两个数值参数。但我们可以这样做:
add(*args)因为*运算符将2个元素的列表转换为2个参数。可以在列表和数组中使用此运算符。
https://stackoverflow.com/questions/8790403
复制相似问题