首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Groovy中数组名前面的星号?

Groovy中数组名前面的星号?
EN

Stack Overflow用户
提问于 2012-01-09 15:01:59
回答 1查看 1.7K关注 0票数 7

我对Groovy有点陌生,所以我确信这是一个非常明显的things...but,很难通过谷歌搜索。

在其他语言中,星号代表指针。但是,在这个Groovy代码片段中:

代码语言:javascript
复制
byte[] combineArrays(foo, bar, int start) {
  [*foo[0..<start], *bar, *foo[start..<foo.size()]]
}

我只能想象事实并非如此。我是说,指针?很帅吗?

我假设这段代码打算传递foo和bar的成员,而不是多维数组。那么星号到底意味着什么呢?

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-09 15:12:56

这样使用时,*运算符将列表或数组扩展到参数列表中。一点帮助都没有,对吧?不如举个例子吧?假设我们有这样的功能:

代码语言:javascript
复制
def add(Number a, Number b) {
  return a + b
}

而这张名单

代码语言:javascript
复制
def args = [1, 2]

我们不应该这么做

代码语言:javascript
复制
add(args)

因为函数需要两个数值参数。但我们可以这样做:

代码语言:javascript
复制
add(*args)

因为*运算符将2个元素的列表转换为2个参数。可以在列表和数组中使用此运算符。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8790403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档