如何從其內容動態創建類?實際上我創建了一種Matlab引擎類實例化和執行,其中我可以列出目錄中的所有類文件(* .m),實例化它們(使用'eval(clasnname)')並使用這些對象。動態類生成
現在我想改變這些文件的「實時」文件內容,然後實例化它們並使用這些新的對象。
所以我寫了一個函數來讀取文件的內容到一個字符串中,替換/添加一些內容到這個字符串中......我不知道如何創建一個對象(一個類的實例)這個字符串(包含'classdef myClass < myMotherClass \ n ... end')。 (我知道我可以用這個字符串內容在我的文件系統上創建一個新文件,然後像我已經完成的那樣使用eval(...),但我嘗試在不創建新物理文件的情況下執行此操作)。
有人知道該怎麼做嗎?
好吧,你是對的。我必須寫一個classdef文件。所以我試試這個......將內容寫入相應的文件,通過eval(classname)加載它,然後...刪除文件;這是行不通的。 Matlab真的需要在使用該類時存在te文件(爲什麼?爲什麼它不會將classdef加載到內存中?每次調用類的函數時都必須解析和分析文件...)。所以我剛剛在程序結束時刪除了最新的文件。 – Alexxx 2012-01-11 07:26:38
它需要存在該文件,以便它可以檢查沒有任何更改。 – Nzbuu 2012-01-11 11:02:42