d2

    1

    1답변

    각각 구조체가 포함 된 두 개의 연관 배열을 비교하려고합니다. 서로 같지 않은지 확인하려고하지만 오류가 발생하고 잘 모르겠습니다. 왜. 구조체에 opEquals 함수가있는 경우 발생합니다. 전통적인 (비 연관) 배열을 같은 종류의 구조체와 비교하면 잘 작동합니다. 여기 #! /usr/bin/rdmd import std.stdio; void main()

    1

    1답변

    일치하지 않는 나는 내가 Appender를 사용하는 것을 시도하고있다 Error: template std.array.Appender!(string).Appender.put does not match any function template declaration 오류를 얻을. 어떻게 작동시키는 지 말해 줄 수 있어요? import std.array; i

    2

    2답변

    D 컴파일 타임 평가에 대해 더 배우고 템플릿, 믹스 인, 속성 등이 모두 작동하는 방식을 이해하려고합니다. 내가 시도하고 싶은 한 가지는 클래스의 멤버를 데이터베이스에서 직렬화 가능하거나로드 가능한 것으로 표시하는 우아한 방법을 찾는 것입니다. 아래 예제에서 인스턴스를 읽거나 (나중에) 직렬화 할 때 사용할 멤버를 나열한 튜플을 만들었습니다. 내 첫 번째

    1

    2답변

    컴파일 할 때 파일 이름과 이미지 형식을 결합하고 싶습니다. string[] 내가 생각 컴파일에서 평가 될 수 없기 때문에 다음의 예는 ... 작동하지 않습니다 immutable imageFormats = ["bmp", "jpg", "gif", "png"]; template fileNamesWithImageFormat(string[] fileNames)

    1

    1답변

    , 나는 크기 또는 문자열로 값를 얻을 수 있지만 튜플 항목 (편집) 특히 원본 데이터의 이름에 더 많은 고급 정보를 정기적으로 얻을 수 있습니다 소스 클래스에서 작성된대로)? 배경 아이디어는이 속성을 RTTI의 종류로 사용하는 것입니다.

    3

    2답변

    제 프로그램에서는 1에서 100,000까지의 숫자의 합계 (0에서 5까지)가있는 배열을 생성해야합니다. const enum size_t MAX_ARRAY_SIZE = 100_000 + 1; const enum size_t MAX_POWER_SIZE = 5 + 1; const enum power_sum = calc_power_sum(); // some

    5

    2답변

    내가 아는 한,이 코드 은이 꼬리 호출 최적화를 받아야하지만, DMD가 수행하는지 여부는 알 수 없습니다. D 컴파일러 중 어떤 것이 꼬리 호출 최적화를 지원하며이 함수에서 수행 할 것인가? 분해보고에서

    2

    1답변

    대리자를 허용하는 함수를 정의하면 D는 해당 함수를 호출 할 때 대리자 인수를 입력 유추 할 수 있습니다.이 void foo(void delegate(int,string) dlg) 내가 사용하여 호출 할 수 있습니다 : 나는 서명 기능 쓰는 경우에 따라서 foo((a,b){}); 와 D가 a임을 추론 할 int 및 b는 string입니다. 그러나 대

    4

    1답변

    x86 용 DMD 2.062를 사용하고 있습니다. module test; private enum test1 { one, two, three, } private enum test2 { one, two, three, } auto ct = cartesianProduct([EnumMember

    5

    3답변

    배열이 있다고 가정합니다. 주어진 값을 가진 배열 내의 모든 요소를 ​​제거하고 싶습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 제거하려는 값이 두 번 이상 발생할 수 있으며 배열이 반드시 정렬되지는 않습니다. 새 배열을 만드는 대신 배열을 적절한 위치에 필터링하는 것을 선호합니다. 예를 들어 2 값을 배열 [1, 2, 3, 2, 4]에서 제거