[討論] 一個有趣的設計

看板CSSE (電腦科學及軟體工程)作者 (讀者)時間20年前 (2005/02/24 02:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
這個 C++ extension 的設計非常簡單,卻又異常好用,像這樣: const char* c = "test"; string t = http://www.google.com/search?q=${c}; => http._op_colon("//www.google.com/search?q=", c); 也就是增加一個 : operator 的 member function, 後面的東西 一直到 : ; > < | 這些符號為止,就會被視作字串。 另外還可以使用 ${ expression } 直接使用變數。 於是有了一個 http 物件之後,就可以像上面那樣寫了。 另外也可以再最外面加上大括號,這樣幾乎所有符號都就可以包進去。 const char* c = "test"; string t = php: { echo "${c}"; }; 這樣一來,程式的語法馬上就能豐富許多,特別是對於網路程式 設計來說,將會是極為好用而直觀的。 例: mail: reader.bbs@ptt.cc << content; // 寄信 html c = http://www.yahoo.com; c:head:title; // 取得 HTML 文件的標題 mysql: SELECT * FROM user WHERE id = ${ n }; // 執行 SQL 敘述 echo: { <html><body>${d}</body></html> }; // 輸出字串 file:test.txt | preg: s/test/hello/g; // 執行 regular expression 如果用傳統的方法,我想多加不少括號和引號是免不了的。 而且有許多類別庫往往都設計得很複雜,操作起來毫無直觀性 可言,這樣的特殊設計,應該可以讓許多類別的設計單純化, 何況像上述的這些例子,都有現成的程式可以利用。 這個 C++ 擴充,做起來應該會比上個主題談到的 ref 簡單。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.173.26
文章代碼(AID): #127CkzZo (CSSE)
文章代碼(AID): #127CkzZo (CSSE)