6.3.1 Haxe 표준 라이브러리의 정적 확장
6.3.1 Haxe 표준 라이브러리의 정적 확장
Haxe 표준 라이브러리의 여러 클래스는 정적 확장 사용에 적합합니다. 다음 예제는 StringTools의 사용을 보여줍니다:
using StringTools;
class Main {
static public function main() {
"adc".replace("d", "b");
}
}
String은 그 자체로 replace 기능이 없지만, using StringTools 정적 확장이 하나를 제공합니다. 평소처럼 JavaScript 출력이 변환을 잘 보여줍니다:
Main.main = function() {
StringTools.replace("adc","d","b");
}
Haxe 표준 라이브러리의 다음 클래스들은 정적 확장으로 사용되도록 설계되었어요:
- StringTools: 문자열에 대한 확장 기능(replace, trim 등)을 제공한다.
- Lambda: iterable에 대한 함수형 메서드를 제공한다.
- haxe.EnumTools: enum과 그 인스턴스에 대한 타입 정보 기능을 제공한다.
haxe.macro.Tools: 매크로 작업을 위한 다양한 확장을 제공한다(Tools 참조).
추가 정보: "using" using — 언어에
using키워드가 추가된 이후, 특정 문제(예: 모호성)에 대해 이야기할 때 "using using"이라는 말을 쓰는 것이 흔해졌습니다.
본문
표준 라이브러리의 StringTools, Lambda, haxe.EnumTools, haxe.macro.Tools 클래스는 정적 확장으로 사용되도록 설계되었어요. using StringTools; 후에는 "adc".replace("d", "b")처럼 문자열 기능을 확장 호출로 사용할 수 있습니다.