Groovy

Мавод аз Википедиа — донишномаи озод
Groovy
Таърихи таъсис 2003
Логотип
Нигора
Пазируфтаи асари Python, Java[d], Руби, Перл ва Smalltalk
Парадигми барноманависӣ барноманависии шайъгаро, functional programming[d], imperative programming[d] ва multi-paradigm programming[d]
Тавсеъадиҳанда Java Community Process[d] ва Apache Software Foundation[d]
Тарроҳ James Strachan[d]
Систем-омил cross-platform[d]
Забони барноманависӣ Java[d][1][2]
Махзани коди манбаи репозиторӣ github.com/apache/groovy
gitbox.apache.org/repos/…
Issue tracker URL issues.apache.org/jira/b…
Вебгоҳи расмӣ groovy-lang.org(англ.)
groovy.apache.org
Иҷозатнома Apache License, Version 2.0[d] ва Apache License[d]
Ҳаққи таксир copyrighted[d]
Typing discipline dynamic typing[d], static typing[d], strong typing[d] ва duck typing[d]
Download URL groovy-lang.org/download…
Пешванди парванда .groovy[3], .gvy[3], .gsh[3] ё .gy[3]
 Парвандаҳо дар Викианбор

Groovy — яке аз забонҳои барноманависӣ мебошад.

Groovy раванди стандартизатсияро дар Java Community Process (JSR 241) ба анҷом расонидааст.

Таърих[вироиш | вироиши манбаъ]

Соли 2020 версияи 3.0.0 бо такмилоти назаррас баромад.

Скриншот Groovy Console

Намуна[вироиш | вироиши манбаъ]

Классический пример вывода на печать строки с приветствием:

// Comment
print("Hello world!")

Пример создания и использования функции с аргументами и возвращаемым значением:

def helloFunction(name) {
    println("Hello, ${name}")
}
helloFunction("Groovy!")
// В следующей функции вычисления суммы двух объектов
// последнее выражение является возвращаемым значением
def sum(a, b) {
    a + b // вернет результат сложения
}
print(sum(1, 2))
// Эта функция принимает параметры только числового типа
def subtraction(double a, double b) {
    return a - b
}
print(subtraction(6, 4))

Объявление класса, создание его экземпляра и вызов его методов в главной точке входа программы (статический метод main())

class Foo {
  def doSomething() {
    def data = ["name": "James", "location": "London"]
    for (e in data) {
      println("entry ${e.key} is ${e.value}")
    }
  }
  
  def closureExample(collection) {
    collection.each { println("value ${it}") }
  }
  
  static void main(args) {
    def values = [1, 2, 3, "abc"]
    def foo = new Foo()
    foo.closureExample(values)
    foo.doSomething()
  }
}

«;» — точка с запятой в конце строки не обязательна.

Эзоҳ[вироиш | вироиши манбаъ]

Ҳамчунин нигаред[вироиш | вироиши манбаъ]

Пайвандҳо[вироиш | вироиши манбаъ]


Шаблон:Java