mud那些坑 find_object问题

find_object 

find_object 没有找到对象时  实际上会load_obejct 一次,需要设定一个标记表示 find_obejct 找出来的 对象和需要对比的对象有什么不同

只要new出来的对象。。destruct 实际上也没有完全摧毁他

bj = new("/clone/book/18niou");
    obj->set("abc","123");
    
    if( objectp(obj) ){
        write(obj->query("abc")+"
");
    }
    
    
    destruct(obj);


    objs = children("/clone/book/18niou");//filter_array( children("/clone/book/18niou"), (: clonep :) );
    
    
    
    
    if( sizeof(objs) > 0 ){
        //write("我就是销毁不了
");
        
        foreach(ob in objs){
            write(file_name(ob)+"
");
            write("循环里显示:"+ob->query("abc")+"
");
        }
        
    }
    

clonep

实际上他只检查物件是否是由new  clone_object这几个函数 创建出来的

call_other 创建出来的并不是clonep

所以不能单纯的认为 clonep 出来的就是一个复制出来的物件

所以 我们要查找一个物件是不是真的是复制的可以用这个方式

objs = filter_array( children("/clone/book/18niou"), (: clonep :) );


原文地址:https://www.cnblogs.com/cfas/p/8901885.html