d 열 플러그인 예
13274 단어 필기
enum sql = `
CREATE TABLE Person (
id INTEGER NOT NULL,
name TEXT,
birthday DATE
);
`;
/+
:
class Person {
int id;
string text;
Date birthday;
void save() {
/* */
}
}
+/
이렇게:
class ObjectImpl(some_arguments) {
//
}
mixin("alias " ~ some_name ~ " ObjectImpl!(whatever, args);");
다음과 같습니다.
struct {
string name;
string type;
}
struct {
string name;
[] ;
}
(string sql) {
table;//sql
//
table.name = "Person";//
table. = [
("id", "INTEGER"),
("name", "TEXT"),
("birthday", "DATE"),
];
return table;
}// sql
// , +
mixin template (string sql) {
//@2
// sql D,
template (string ) {
static if( == "INTEGER")
alias = int;
else static if( == "DATE") {
import std.datetime;
alias = Date;
} else static if( == "TEXT")
alias = string;
else static assert(0, " " ~ );
}//
//
struct {
string name;
}// .
// , ,
mixin template ( [] ){
//
mixin("
// ,
@ ( [0].name)
// ,
!( [0].type) " ~ [0].name ~ ";");// .
static if( .length > 1)
mixin !( [1 .. $]);
}// , .
//
class {
//
mixin !( (sql). );
//
void save() {
//
import std.stdio;
import std.traits;
//
foreach(idx, variable; getSymbolsByUDA!( , )) {
auto name = getSymbolsByUDA!( , )[idx].stringof;
writeln(name, " = ", variable);
}//
}
}
//
mixin("alias " ~ (sql).name ~ " = ;");// .
}
// ,
mixin !(sql);//@1
void main() {
auto person = new Person;
person.id = 10;
person.save();
}
몇 줄
, 모든 것을 해결한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
leetcode 퀴즈 투어(1)이것은 문제 풀이 여행의 첫 번째 편으로 귀속에 대한 총결로 제목은 주로 체인 테이블과 두 갈래 나무를 포함한다.이전에 귀환을 고려할 때 귀환의 한 걸음 한 걸음 조작을 고려했기 때문에 세부 사항을 모두 똑똑히 알아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.