что означает и использует оператор -> в граалях?

1

Я новичок в работе с grails application. Я смущаюсь по этому поводу → оператор в grails. Может ли кто-нибудь дать мне четкое представление об этом? или Дайте мне ссылку на это, что может быть легко для меня. Я уже читаю онлайн-документацию и некоторые книги, но я все еще запутался об этом операторе и обычаях.

Теги:
groovy
grails
gorm
grails-2.0

2 ответа

8
Лучший ответ

Это индикатор параметра в закрытии Groovy. Здесь вы можете узнать больше о закрытии.

-> - это символ, указывающий конец списка параметров для закрытия в Groovy.

В первом примере (приведенном в комментариях) у вас есть закрытие, называемое printSum и оно принимает два параметра; a и b:

def printSum = { a, b -> 
  print a+b 
}

Во втором примере (приведенном в комментариях) у вас есть именованные критерии, называемые oldPublicationsLargerThan и он принимает один параметр, называемый pageCount.

oldPublicationsLargerThan { pageCount -> 
  def now = new Date() 
  lt 'datePublished', now - 365 
  gt 'numberOfPages', pageCount 
} 
  • 1
    Здесь def printSum = {a, b -> print a + b} означает a, b означает print a + b или что-то еще?
  • 1
    oldPublicationsLargerThan {pageCount -> def now = new Date () lt 'datePublished', сейчас - 365 gt 'numberOfPages', pageCount} еще один пример, но все еще в замешательстве. Вы можете объяснить это?
Показать ещё 3 комментария
6

Эта тонкая стрелка является разделителем списка параметров.

Синтаксис списка параметров закрытия можно приблизительно перевести в список параметров метода.

Это закрытие:

def criteria = { a, b ->
  return a + b
}

И это версия метода:

def criteria(a, b) {
  return a + b
}

Однако закрытие имеет больше возможностей.

  • 2
    Вы также можете иметь замыкание без этой «тонкой стрелки», и первый параметр будет автоматически назван 'it' groovy.
  • 0
    Спасибо за ответ @Will

Ещё вопросы

Сообщество Overcoder
Наверх
Меню