d의 정적 템플릿, 시작 시 초기화
                                            
 6490 단어  필기
                    
Regex!char staticRe(string reStr)()
	{
	    static struct Impl
	    {
		static Regex!char re;
		static this()
		{
		    re = regex(reStr);
		}
	    }
	    return Impl.re;
	}
	auto myFunc(string input) {
		...
    		auto result = input.replaceAll(staticRe!"foo(\w+)bar", `blah $1 bleh`);
		...
	}
     를 가진 템플릿 함수로 실행할 때 전역 초기화 정규를 되돌려 템플릿으로 실례화합니다.ct   컴파일링이 없을 때 비용을 지불하지 않아도 됩니다. 프로그램이 시작될 때 실례화됩니다.등가    .그러나 우리는               에서 템플릿 함수 중 하나를 사용할 수 없다   .컴파일을 피할 때 생성    .전역 변수처럼 정적 필드입니다.가동 실례화를 보장하기 위해서.  this ()로 main 전에 운행합니다.	class Language { ... }
	Language curLang = ...;
	version(extractStrings) {
		private int[string] translatableStrings;
		string[] getTranslatableStrings() {
			return translatableStrings.keys;
		}
	}
	string gettext(string str)() {
		version(extractStrings) {
			static struct StrInjector {
				static this() {
					translatableStrings[str]++;
				}
			}
		}
		return curLang.translate(str);
	}
	...
	auto myFunc() {
		...
		writeln(gettext!"Some translatable message");
		...
	}
d버전
gettext입니다.
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
static 간단한 설명static 방법은 일반적으로 정적 방법이라고 부른다. 정적 방법은 어떠한 대상에 의존하지 않고 접근할 수 있기 때문에 정적 방법에 있어this는 없다. 왜냐하면 그 어떠한 대상에도 의존하지 않기 때문이다. 대상이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.