| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
createclassglaze 09.05.08 21:24 Emacsin Lisp-funktio, joka tekee C++-luokan rungon tiedostonimen perusteella
(defun createclass ()
(interactive)
(setq classname (file-name-sans-extension (file-name-nondirectory buffer-file-name)))
(insert
"/**
* " classname"
*
* Author: Your name
* Modified: " (format-time-string "%Y-%m-%d") "
* Licence: GNU GPL
*/
#ifndef "(upcase classname)"
#define "(upcase classname)"
class " classname " {
public:
private:
};
#endif
"))
editoitu: 21:51 9.5.08 Akheron 21:44 9.5.08 Tämä ei ole makro vaan ihan tavallinen funktio, Lispissä niillä on suuri ero. Lisäksi tuon luokan nimen voisi tallentaa muuttujaan jolloin saisi koodia lyhyemmäksi kun ei tarvitsisi kutsua file-name-sans-extension- ja file-name-nondirectory-funktioita montaa kertaa. glaze 12:06 10.5.08 Kiitos palautteesta, jospa nyt olisi parempi. Akheron 21:56 11.5.08 Parempi. Tekisin vielä tuon classname-muuttujan let:llä enkä setq:lla, koska näin päästään lähemmäs funktionaalisen ohjelmoinnin syvintä olemusta :) |
![]() Haku
|