Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Code Block
emptyMap = [:]
emptyList = []

Conditional Execution


조건적 실행

어떤 프로그래밍 언어에서라도 가장 중요한 기능 중 한가지는 조건에 따라 다른 명령을 실행하는 기능입니다. 가장 간단한 방법은 '''if''' construct. For example문을 쓰는 것입니다. 예를 들어:

Code Block
amPM = Calendar.getInstance().get(Calendar.AM_PM)
if (amPM == Calendar.AM)
	println("Good morning")
} else {
	println("Good evening")

Don't worry too much about the first line, it's just some code to determine whether it is currently before noon or after. The rest of the code executes as follows: first it evaluates the expression in the parentheses, then depending on whether the result is 첫번째 줄은 단순히 지금이 오전인지 오후인지를 알아내는 코드이니 별 신경 쓰지 마세요. 코드의 나머지 부분은 다음과 같습니다. 우선 괄호 안의 수식을 평가하고 그 결과가 '''true''' or 인지 '''false''' it executes the first or the second code block. See the section below on boolean expressions.Note that the "else" block is not required, but the "then" block is인지에 따라 각각 첫번째 코드 블럭 혹은 두번째 코드 블럭을 실행합니다. Boolean 표현식에 대해서는 아래를 참고하세요.

아래와 같이 else 블록은 생략 가능합니다. 하지만 then 블록은 꼭 있어야 합니다:

Code Block
amPM = Calendar.getInstance().get(Calendar.AM_PM)
if (amPM == Calendar.AM)
	println("Have another cup of coffee.")




거의 모든 프로그래밍 언어에는 진리값 - '''true''' and , '''false''' . The simplest boolean expression are simply those words. Boolean values can be stored in variables, just like any other data type- 을 표현하기 위한 특별한 자료형이 존재합니다. 가장 간단한 Boolean 표현식은 앞의 단어들(true 혹은 flase)을 바로 쓰는 것입니다. Boolean 값도 다른 값들처럼 변수에 저장될 수 있습니다:

Code Block
 myBooleanVariable = true

A more complex boolean expression uses one of the boolean operators더 복잡한 Boolean 표현식은 다음 Boolean 연산자에 의해 표현됩니다:

Code Block
* ==
* !=
* >
* >=
* <
* <=

Most of those are probably pretty intuitive. The equality operator is 위 대부분의 연산자는 제법 직관적입니다. 항등 연산자가 '''===''' to distinguish from the assignment operator 인 이유는 대입 연산자인 '''='''. The opposite of equality is the 과 구분하기 위한 것입니다. 항등 연산자의 반대는 '''!=''' operator, that is "not equal"So some examples연산자 입니다. 갖지 않음을 의미합니다.

다음은 예제입니다:

Code Block
titanicBoxOffice = 1234600000
titanicDirector = "James Cameron"

trueLiesBoxOffice = 219000000
trueLiesDirector = "James Cameron"

returnOfTheKingBoxOffice = 752200000
returnOfTheKingDirector = "Peter Jackson"

theTwoTowersBoxOffice = 581200000
theTwoTowersDirector = "PeterJackson"

titanicBoxOffice > returnOfTheKingBoxOffice  // evaluates to true
titanicBoxOffice >= returnOfTheKingBoxOffice // evaluates to true
titanicBoxOffice >= titanicBoxOffice         // evaulates to true
titanicBoxOffice > titanicBoxOffice          // evaulates to false
titanicBoxOffice + trueLiesBoxOffice < returnOfTheKingBoxOffice + theTwoTowersBoxOffice  // evaluates to false

titanicDirector > returnOfTheKingDirector    // evaluates to false, because "J" is before "P"
titanicDirector < returnOfTheKingDirector    // evaluates to true
titanicDirector >= "James Cameron"           // evaluates to true

Boolean expressions are especially useful when used in conjunction with the 표현식은 '''if''' construct. For example와 함께 쓰일때 특히 유용합니다. 다음 예를 살펴보세요:

Code Block
if (titanicBoxOffice + trueLiesBoxOffice > returnOfTheKingBoxOffice + theTwoTowersBoxOffice)
	println(titanicDirector + " is a better director than " + returnOfTheKingDirector)

An especially useful test is to test whether a variable or expression is null (has no value). For example let's say we want to see whether a given key is in a map특히 유용한 검사 중 하나는 변수 혹은 표현식이 null(아무 값도 없음을 의미합니다)인지 검사하는 것입니다. 다음 예제를 살펴보세요:

Code Block
suvMap = ["Acura MDX":"\$36,700", "Ford Explorer":"\$26,845"]
if (suvMap["Hummer H3"] != null)
 	println("A Hummer H3 will set you back "+suvMap["Hummer H3"]);

Generally null is used to indicate the lack of a value in some location.

Debugging and Troubleshooting Tips


null은 일반적으로 어떤 장소에 값이 없음을 나타내기 위해 사용됩니다.

디버깅과 문제해결 팁

  • 변수가 어떤 클래스의 인스턴스인지를 알아보고 싶으면 myVar.getClass() . Then look up the documentation for that class.
  • If you're having trouble with a complex expression, pare it down to a simpler expression and evaluate that. Then build up to your more complex expression.
  • Try restarting the groovyConsole (this will clear out all the variables so you can start over.
  • Look for the topic you're interested in in the Groovy language guide

If you are a Java developer

  • you might want to check on the Differences from Java
  • also there afew a few Things to remember메서드를 실행하세요. 클래스를 알아냈으면 그 클래스에 대한 문서를 찾아보시기 바랍니다.
  • 복잡한 표현식을 다루다가 문제가 생기면 그 표현식을 단순한 표현식들로 나눠서 각각의 단순한 표현식을 평가해보세요. 그 다음 다시 합쳐서 원래의 표현식으로 만들어내세요.
  • groovyConsole을 재시작 해보세요. 재시작하면 여러분이 만든 모든 변수들이 제거되고 깨끗한 상태에서 다시 시작할 수 있습니다.
  • 관심 있는 주제에 대해서는 Groovy 언어 가이드 에서 찾아보세요.

만약 여러분이 자바 개발자라면: