同時支援新舊版本的 autolisp

emacs org mode 導出原始碼

使用 emacs 的 org mode 可以用源代碼塊 (Structure of Code Blocks ) 導出 Big5 和 Unicode (UTF-8) 二個程式。加上文學編程可以同時編二個程式。再加上可以直接編寫程式的說明文件,所以使用 emacs 的 org-mode 可以一舉三得。

舉例如 autolisp-export-example ,原始碼顯示一次可以導出 org-export-big5.lsporg-export-utf-8.lsp ,其中 org-wxport-big5.lsp 支援 Big-5 碼,而 org-export-utf-8.lsp 支援 UTF-8 碼。我們可以另外寫一個 acaddoc.lsp 來判斷以何時載入適合的程式。例如在程式中判定

(defun load-file-mode ()
  (if (eql "24.1s (LMS Tech)" (getvar "acadver"))
    (load "org-export-utf-8.lsp")
    (load "org-export-big5.lsp"))

其中以 AutoCAD 2022 與 AutoCAD 2017 為例。在 (getvar "acadver") 返回  "24.1s (LMS Tech)" 時是 AutoCAD 2022 的版本,它的 autolisp 支援 UTF-8 版本;如果 (getvar "acadver") 返回 "21.0s (LMS Tech)" 它代表 Autocad 2017 ,其 autolisp 支援 Big-5 碼。如此可以依企業中使用新舊版本的 AutoCAD 時,依狀況載入合適的程式碼。

 

留言