주석#

#!/usr/bin/groovy

// 한줄주석 

/*
여러줄 주석
*/

GroovyBeans#

class Book{
private String title
Book(String theTitle){
    title = theTitle;
}
}

book = new Book('hello')
println book.title
println book.getTitle()
println book.getProperty('title')
book.title는 내부적으로 접근자 메소드를 통해 값을 가져오도록 한다. 결과적으로 위 3가지 방법은 모두 같은 값을 가져오게 된다.

숫자도 객체이다#

def x=1
def y=2
assert x+y=3
assert x.plus(y)==3
assert instanceof Integer
assert x.getClass().'package'.name=='java.lang'
Groovy에서는 숫자도 객체로 취급하기 때문에 x+y와 같은 표현식은 당연히 에러를 띄운다.

정규표현식#

assert '12345' =~ /\d+/
assert 'xxxxx' ='12345'.replaceAll(/\d/, 'x')
=는 패턴이 일치하는지 보는 비교구분자이다.

List, Map, Range#

// List Example
def list = ['1''2''3']
assert list.size()==3
list[list.size()]=list.size()
assert list.size()==4

// Map Example
def map = [1'id', 2'name']
assert map[2== 'name'
map[3'email'
assert map.size() == 3

// Range Example
def x = 1..10
assert x.size() == 10
assert x.contains(5)
assert x.contains(15== false
assert x.from == 1
assert x.to == 10
assert x.reverse() == 10..1

제어구조#

def clinks = 0
forremainingGuests in 0..9){
clinks += remainingGuests
}
assert clinks == (10*9)/2

def list = [0123456789]
forj in list){
    assert j == list[j]
}
list.each(){ item ->
    assert item == list[item]
}

switch(3){
case 1assert falsebreak
case 3assert truebreak
defaultassert false
}

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-7) was last changed on 14-Jun-2008 15:33 by DongGukLee