d串外掛程式示例

2021-10-09 10:44:49 字數 1276 閱讀 4370

原文在此

還有一篇

還有這裡

還有這裡都可以看看.元程式設計相關的.

我們想要:

enum sql = `

create table person (

id integer not null

, name text,

birthday date );

`;/+ 通過上面生成下面:

class

person}+

/

這樣:

class

objectimpl

(some_arguments)

mixin

("alias "

~ some_name ~

" objectimpl!(whatever, args);"

);

如下:

struct 結查列 

struct 結查表

結查表 解析結查語句(string sql)

//這是解析sql剩下的

//先分解,外掛程式模板宣告+取串

mixin template 結查表物件(string sql)

else

static

if(結查型別 ==

"text"

) alias 結查變數型別 = string;

else

static

assert(0

,"未知型別"

~ 結查型別);}

//變數型別轉換

// 使用者定義反射

struct 結查列

//重要的是結查表.

// 生成變數,一次乙個,用小串外掛程式

mixin template 結查變數(結查列[

]列)//一堆變數,這裡沒有定義結果列第乙個變數.

// 普通宣告加變數外掛程式

class 我們結查表物件

//檢視}}

// 串外掛程式中再用別名來取名字

mixin

("alias "

~ 解析結查語句(sql)

.name ~

" = 我們結查表物件;");

//用別名來定義我們的類.

}//混合所有,搞定

mixin 結查表物件!

(sql)

;//@1

void

main()

幾行串外掛程式,搞定一切.

d外掛程式混入

inte ce i mixin template idefaults 中預設 override string somethingelse 過載的仍然是本地的函式 外掛程式模板引進包裝函式和快取變數至每個例項 不能複製靜態本地變數 外掛程式模板和結構區別在域.結構域在模組,外掛程式在定義點 使用點 c...

jQuery外掛程式示例筆記

封裝物件方法的外掛程式 將物件方法封裝起來,用於對通過選擇器獲取的jquery物件進行操作。注意,為了更好的相容性開始前有個分號 function jquery 這裡就將jquery作為實參傳遞給匿名函式了封裝全域性函式的外掛程式 可以將獨立的函式加到jquery命名空間之下。選擇器外掛程式 擴充自...

Wordpress 外掛程式示例之一

這個 wp 外掛程式,除過能夠在外掛程式管理面板管理外 可以被開啟和禁用 還能夠在 設定 選單下對外掛程式進行配置,使外掛程式的功能可以得到擴充套件。本外掛程式,可以實現對部落格文章中的任意字串進行替換。以下 中,why100000 keyword 和 why100000 replace 作為選項文...