Skip to content
Skip to breadcrumbs
Skip to header menu
Skip to action menu
Skip to quick search
Quick Search
Browse
Pages
Blog
Labels
Attachments
Mail
Advanced
What’s New
Space Directory
Feed Builder
Keyboard Shortcuts
Confluence Gadgets
Log In
Dashboard
Groovy
Copy Page
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account. You can also
Sign Up
for a new account.
This page is being edited by
.
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
More colours
Strikethrough
Subscript
Superscript
Monospace
Clear Formatting
Bullet list
Numbered list
Outdent
Indent
Align left
Align center
Align right
Link
Table
Insert
Insert Content
Image
Link
Attachment
Symbol
Emoticon
Wiki Markup
Horizontal rule
tinymce.confluence.insert_menu.macro_desc
Info
JIRA Issue
Status
Gallery
Tasklist
Table of Contents
Other Macros
Page Layout
No Layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Undo
Redo
Find/Replace
Keyboard Shortcuts Help
<p>Groovy는 String을 표현할 때 " 와 ' 를 모두 사용합니다. 두 가지를 모두 허용하기 때문에 문자열 안에 따옴표를 쓰기가 쉬워집니다:</p> <table class="wysiwyg-macro" data-macro-name="code" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGV9&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> println "he said 'cheese' once" println 'he said "cheese!" again' </pre></td></tr></table> <p>Groovy 파서는 \uab12 (역슬래시 이후 u, 그리고 네 자리의 16진수) 표기법을 지원합니다. 이 표기는 자바에서와 마찬가지로 문자열 내에서 뿐만 아니라 소스 코드의 어떤 부분에 나와도 상관 없습니다.,</p> <h2>문자열 결합</h2> <p>문자열은 "+" 를 통해 결합될 수 있습니다. 다음 예제를 참고하세요:</p> <table class="wysiwyg-macro" data-macro-name="code" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGV9&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> #!/usr/bin/env groovy a = "world" print "hello " + a + "\n" </pre></td></tr></table> <h2>다중 라인 문자열</h2> <p>Groovy에서 보통 문자열은 여러 줄에 걸쳐서 쓰일 수 없습니다. 이 규칙에 대한 예외로써, 줄 마지막에 역슬래시가 나오면 그 줄은 무시되고 현재 라인과 그 다음 라인을 결합합니다:</p> <table class="wysiwyg-macro" data-macro-name="code" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGV9&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> // 이건 컴파일 에러 def foo = "hello </pre></td></tr></table> <p>만약 텍스트 한 묶음(예를 들어 HTML 코드 블록)을 문자열로 사용하고 싶은데 모두 인코드하기는 싫다면 """ 문법을 쓰면 됩니다:</p> <table class="wysiwyg-macro" data-macro-name="code" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGV9&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> def name = "James" def text = """\ hello there ${name} how are you today? """ assert text != null println(text) </pre></td></tr></table> <p>두번째 줄 끝의 역슬래시로 인해 <code>text}}에 담기는 문자열은 정확히 두 줄로 처리됩니다. 그리고 줄 바꿈은 호스트 시스템에 관계 없이 항상 {{'\n''</code> 으로 처리됩니다.</p> <h2>String 상수</h2> <p>특별한 문자를 처리하기 위해 역슬래시를 쓰지 않고도 문자열 상수를 표기할 수 있는 표기법이 있는데, 정규식을 표현할 때 특히 유용합니다:</p> <table class="wysiwyg-macro" data-macro-name="code" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGV9&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre> def s = /.*foo.*/ def dirname = /^.*\// def basename = /[^\/]+$/ </pre></td></tr></table> <p>더 자세한 내용은 <a class="confluence-link" href="/display/GROOVY/Korean+Regular+Expressions" data-linked-resource-id="54453" data-linked-resource-type="page" data-linked-resource-default-alias="Korean Regular Expressions" data-base-url="http://docs.codehaus.org">정규식</a> 을 참고하세요.</p> <h2>GStrings</h2> <p>쌍따옴표(하나의 쌍따옴표 혹은 세 개의 쌍따옴표)로 선언된 문자열은 그 내부에 JSP EL, Velocity, Jexl 비슷하게 <em>${expression}</em> 문법으로 표기된 표현식을 포함할 수 있습니다. 메서드 호출을 비롯한 모든 유효한 Groovy 표현식이 ${...} 표기법 안에 들어갈 수 있습니다.</p> <p>실제로 일어나는 일은 다음과 같습니다. 문자열 표현식이 ${...} 을 포함하고 있으면 보통의 java.lang.String 인스턴스가 아닌 <a href="http://groovy.codehaus.org/apidocs/groovy/lang/GString.html">GString</a> 인스턴스가 생성됩니다. GString 인스턴스는 문자열 자체와 그 문자열 내부에 포함된 수식에서 쓰이는 값을 보관하고 있습니다. GString은 지연된 평가(lazy evaluation)를 사용하기 때문에 toString()이 호출되기 전까지는 GString이 평가되지 않습니다. 이러한 지연된 평가는 로깅 등에서 특히 유용합니다.</p> <p>GString의 또다른 활용예는 <table class="wysiwyg-macro" data-macro-name="unmigrated-inline-wiki-markup" data-macro-parameters="atlassian-macro-output-type=BLOCK" style="background-image: url(/plugins/servlet/confluence/placeholder/macro-heading?definition=e3VubWlncmF0ZWQtaW5saW5lLXdpa2ktbWFya3VwOmF0bGFzc2lhbi1tYWNyby1vdXRwdXQtdHlwZT1CTE9DS30&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre>{link:GroovySql|sql.html}{link}</pre></td></tr></table> 입니다. GroovySql 에서는 이 방식을 이용하여 인자를 SQL에 전달할 수 있습니다. GroovySql은 GString 내부의 표현식을 ?로 바꾸고 JDBC PreparedStatement를 이용하여 값들을 전달합니다.</p> <p>만약 GString을 String으로 변환하려면 toString()을 호출하면 됩니다. Groovy는 필요한 경우 자동으로 GString을 String으로 바꿔주기도 합니다.</p>
Please type the word appearing in the picture.
Attachments
Labels
Location
Watch this page
< Edit
Preview >
Loading…
Save
Cancel
Next hint
search
attachments
weblink
advanced