Groovy语法说明/资源

l15*_*15a 4 syntax groovy

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

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!"
Run Code Online (Sandbox Code Playgroud)

mip*_*adi 6

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

您正在处理的内容在Python中称为切片.(我提到了术语,因为搜索像"groovy slices"这样的东西可能会帮助你找到更多的信息,虽然我不知道它们是否实际上被称为"切片"参考Groovy.)你可以找到关于这个特定的更多信息.语法功能在这里.

至于其他资源,我发现Groovy in Action这本书非常方便学习Groovy.