문자열 끼워넣기와 연결하기

우리 프로그램에게 자신에 대해 좀 더 이야기 하도록 만들자.

1
2
3
4
5
6
7
"The Hello World program ... version 1.1!"
void hello() {
print("Hello, this is Ceylon ``language.version``
running on Java ``process.vmVersion``!\n
You ran me at ``process.milliseconds`` ms,
with ``process.arguments.size`` arguments.");
}

우리의 메시지에 문장들이 어떻게 삽입되었는지 보면, 더블백 “ 즉, 두개의 backtick 을 이용해 구분하였다. 이를 문자열 템플릿이라고 부른다.

필자의 컴퓨터에서 이 프로그램은 다음과 같은 결과를 출력하였다.

1
2
3
4
5
Hello, this is Ceylon 0.5
running on Java 1.7!
You ran me at 1362763185067 ms,
with 0 arguments.

다른 방법으로 + 연산자를 사용해 문자열을 이어붙히는 것도 가능하고, 이는 많은 경우에 더 유연하다.

1
2
3
4
5
print("Hello, this is Ceylon " + language.version +
"running on Java " + process.vmVersion + "!\n" +
"You ran me at " + process.milliseconds.string +
" ms, with " + process.arguments.size.string +
" arguments.");
  • 연산자를 이용해 문자열을 연결할 때, 명시적으로 string 속성을 호출해 숫자 표현을 문자로 변경해야 한다. + 연산자는 피연산자를 문자열로 자동적으로 변경하지 않는다.
1
2
3
4
print("Hello, this is Ceylon ” + language.version + “running on Java ” + process.vmVersion + “!\n” +
“You ran me at ” + process.milliseconds + //compile error!
“ ms, with ” + process.arguments.size + //compile error!
“ arguments.”);
Share Comments