4

我昨天开始涉足groovy。在我理解的 groovy 网站上有一个示例,但我想更多地了解它为什么会这样工作。让我困惑的是who[1..-1]。这像是在说who[1..who.length()-1]吗?我找不到有关此语法的任何文档。除了http://groovy.codehaus.org/上的内容之外,还有什么好的 groovy 教程吗?

class Greet {
  def name
  Greet(who) { name = who[0].toUpperCase() +
                      who[1..-1] }
  def salute() { println "Hello $name!" }
}

g = new Greet('world')  // create object
g.salute()              // Output "Hello World!"
4

2 回答 2

6

你是对的 - 范围内的负数基本上是指列表的结尾,而不是开头。-x相当于who.length()-x

您正在处理的内容在 Python中称为切片。(我之所以提到术语,是因为搜索“groovy slices”之类的内容可能会帮助您找到更多信息,尽管我不知道它们是否真的被称为 Groovy 的“slices”。)您可以找到有关此特定内容的更多信息语法功能在这里

至于其他资源,我发现Groovy in Action一书对于学习 Groovy 非常方便。

于 2008-12-19T17:21:51.887 回答
0

对于几种语言,PLEAC是一个很好的资源。

于 2008-12-21T05:30:05.693 回答