본문 바로가기

Script/Groovy

(17)
09. Collection Groovy 의 Collection 은 JAVA 의 Collection 보다 사용이 상당히 편하다. Range 이론 부분은 http://groovy-lang.org/api.html 에서 Range 로 검색해보면 해당 클래스는 인터페이스로 사용자 입력에 따라 IntRange 등으로 변형된다. 사용자의 Range 입력은 From .. To 형식으로 입력하면 되며 부등호를 사용할 수 있다. 선언한 Range r = 1..10 println r println r.class println r.from println r.to 1..10 class groovy.lang.IntRange 1 10 Range r2 = 1..
08. RegExp Groovy 에서 정규 표현식을 사용할 수 있으며 기존 다른 언어에서 사용하는 방식과 크게 다르지 않다. Regexp Operator Groovy 에서는 regexp 를 위해 아래 operator 를 사용한다. Pattern 오퍼레이터와 같이 사용되는 pattern 은 기존 regexp 에서 사용하는 그대로 사용한다. 정규식을 이용하는 좀 더 자세한 사항은 아래 레퍼런스 참조하자. https://www.regular-expressions.info/refquick.html Example def text = 'Some 42 number #12 more' // ~ 는 패턴식을 정의하기 위해 사용 def pattern = ~/\d+/ // =~ 는 find def matchedStrings = (text =~ ..
07. String Groovy 의 String 은 기본적으로 JAVA 의 String 과 동일하지만 변수로 사용될 때는 ${변수명} 를 사용할 수 있다. 단 쌍따옴표를 사용하는 경우만 변수로 치환된다. 멀티라인 스트링을 사용하는 경우 쌍따옴표 3개 혹은 홑 따옴표 3 개를 연달아 쓰면 되겠다. //String Interpolation def name = "Dan" def message = "Hello ${name}" def message2 = 'Hello ${name}' println 'Message :' + message println 'Message2 :' + message2 //Multiple String And Interpolation def message3 = """ Hello ${name} a b c """ d..
06. Operator Overloading http://groovy-lang.org/operators.html#Operator-Overloading Groovy 에서 + 연산자를 사용하면 plus 라는 메소드가 동작한다. Operator Method Operator Method + a.plus(b) a[b] a.getAt(b) - a.minus(b) a[b] = c a.putAt(b, c) * a.multiply(b) a in b b.isCase(a) / a.div(b) a.rightShift(b) ** a.power(b) >>> a.rightShiftUnsigned(b) | a.or(b) ++ a.next() & a.and(b) -- a.previous() ^ a.xor(b) +a a.positive() as a.asType(b) -a a.ne..
05. DataType Groovy 는 JAVA 언어로 해석되므로 Groovy 에서 지원하는 데이터 타입은 JAVA 에서 지원하는 데이터 타입과 일치한다. 그중 가장 기본적으로 사용되는 Primitive Data Type 에는 아래와 같은 것들이 있다. 실제 이 데이터 타입은 그대로 Groovy 에서 사용할 수 있다. 하지만 JAVA 에서와 달리 이런 기본적인 데이터 타입도 Groovy 를 사용하면 Wrapper Class 로 묶인다. byte b = 10 println b.class.getName() short s = 1000 println s.class.getName() float f = 1.25 println f.class.getName() println 23123123123123123124324512342.class.g..
04. Basic Grammer 이번장에서는 기본적인 Groovy 문법에 대해 알아보자. Import http://groovy-lang.org/structure.html#_imports 자바의 Import 와 다르지 않다. 특정 클래스만 지정할 수 있고 패키지 전체를 포함하고자 하면 * 를 이용할 수 있다. import groovy.xml.MarkupBuilder def xml = new MarkupBuilder() Keywords http://groovy-lang.org/syntax.html#_keywords Groovy 에서 사용하는 모든 키워드를 확인할 수 있다. 키워드는 변수, 함수명 등으로 사용할 수 없다. as assert break case catch class const continue def default do else..
03. IntelliJ IDE 이번에는 IntelliJ IDE 를 사용해서 간단한 Groovy Project 를 만들어 보도록 하자. 아래와 같은 화면이 나타나는데 Groovy, Project SDK 및 Groovy library 를 선택하고 Next 버튼을 누른다. 다음으로 Project 이름 과 Workspace 를 지정하고 Finish 를 누른다. 그러면 아래 화면이 나오는데 Project 탭을 열어 Src 위치에서 New->Package 를 선택하여 package 이름을 com.test 라고 주고 해당 패키지 위치에서 New->Groovy Class 를 선택하여 Class 이름을 Helloworld 라고 하면 아래와 같은 화면이 된다. 위는 Groovy Class 를 만드는 것이며 New->Groovy Script 를 선택하면..
02. groovyConsole 간단히 goovy 코드를 작성하여 테스트 해보고 groovyConsole 에 포함된 몇몇 유용한 기능에 대해서도 살펴보자. 아주 간단히 아래와 같이 코드를 작성해 보자. def 라고 변수를 선언했는데 실제 이 코드는 JAVA 코드로 변환이 된다. 변환된 코드를 보고자 한다면 Menu->Script->Inspect AST 창을 열어보면 해당 구문이 실제 변경된 JAVA 코드를 확인할 수 있다.