如何从其内容动态创建类?实际上我创建了一种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