6.5 문자열 보간(String Interpolation)
6.5 문자열 보간(String Interpolation)
Haxe 3에서 문자열 보간(String Interpolation) 의 도입으로 더 이상 문자열의 각 부분을 수동으로 연결할 필요가 없어졌어요. 작은따옴표 '로 둘러싸인 문자열 안의 달러 기호 $로 표시된 특수 식별자는 연결된 식별자처럼 평가됩니다:
var x = 12;
// The value of x is 12
trace('The value of x is $x');
또한 ${expr}을 사용해 전체 표현식을 문자열에 포함할 수 있으며, expr은 유효한 Haxe 표현식이면 무엇이든 됩니다:
var x = 12;
// The sum of 12 and 3 is 15
trace('The sum of $x and 3 is ${x + 3}');
문자열 보간은 컴파일 타임 기능이며 런타임에는 영향이 없어요. 위 예제는 컴파일러가 생성하는 수동 연결과 동등합니다:
trace("The sum of " + x + " and 3 is " + (x + 3));
물론 보간이 없는 작은따옴표 문자열의 사용은 유효하지만, $ 문자는 보간을 촉발하므로 주의가 필요해요. 문자열에 실제 달러 기호를 쓰려면 $$를 사용할 수 있습니다.
추가 정보: Haxe 3 이전의 문자열 보간 — 문자열 보간은 버전 2.09부터 Haxe 기능이었어요. 그때는
Std.format매크로를 사용해야 했으며, 새 문자열 보간 구문보다 느리고 덜 편안했습니다.
본문
$ 식별자 보간
작은따옴표 문자열 안에서 $x는 변수 x의 값으로 치환됩니다.
${expr} 표현식 보간
${x + 3}처럼 어떤 유효한 표현식이든 문자열 안에 넣을 수 있어요. 보간은 컴파일 타임에 수동 + 연결로 변환되며 런타임 영향이 없습니다.
이스케이프
실제 $를 쓰려면 $$를 사용해 보간을 막습니다.