Groovy синтаксис объяснение / ресурсы - PullRequest
4 голосов
/ 19 декабря 2008

Я начал баловаться вчера отличным. На отличном веб-сайте есть пример, который я понимаю, но мне хотелось бы узнать больше о том, почему он работает так, как работает. Что меня смущает, так это 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!"

Ответы [ 2 ]

6 голосов
/ 19 декабря 2008

Вы правы - отрицательное число в диапазоне в основном относится к концу списка, а не к началу. -x эквивалентно who.length()-x.

То, с чем вы имеете дело, в Python называется ломтиками . (Я упоминаю терминологию, потому что поиск чего-то вроде «groovy ломтиков» может помочь вам найти больше информации, хотя я не знаю, действительно ли они называются «слайсами» в отношении Groovy.) функция синтаксиса здесь .

Что касается других ресурсов, я обнаружил, что книга Groovy в действии весьма удобна для изучения Groovy.

0 голосов
/ 21 декабря 2008

Для нескольких языков PLEAC - отличный ресурс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...