Example #1
0
        public override void Clone(FuzzyObject source)
        {
            base.Clone();
            FuzzyBool S = source as FuzzyBool;

            if (S != null)
            {
                if (value)
                {
                    trues.Remove(this);
                }
                else
                {
                    falses.Remove(this);
                }
                if (S.value)
                {
                    trues.Add(this);
                }
                else
                {
                    falses.Add(this);
                }
                value = S.value;
            }
        }
Example #2
0
        public override void Clone(FuzzyObject source)
        {
            base.Clone(source);
            FuzzyFloat S = source as FuzzyFloat;

            if (S != null)
            {
                value = S.value;
            }
        }
Example #3
0
 /// <summary>
 /// 从source中将自身变成目标的拷贝
 /// </summary>
 /// <param name="source">拷贝源</param>
 public virtual void Clone(FuzzyObject source)
 {
     this.className = source.className; object Value;
     this.InstanceVariables.Clear();
     foreach (FuzzySymbol key in source.InstanceVariables.Keys)
     {
         Value = source.InstanceVariables[key];
         this.InstanceVariables.Add(Dup(key) as FuzzySymbol, Dup(Value));
     }
 }
Example #4
0
        public override void Clone(FuzzyObject source)
        {
            base.Clone(source);
            FuzzyRegexp S = source as FuzzyRegexp;

            if (S != null)
            {
                Pattern = S.Pattern.Clone() as FuzzyString;
                Options = S.Options;
            }
        }
Example #5
0
        public override void Clone(FuzzyObject source)
        {
            base.Clone(source);
            FuzzyString S = source as FuzzyString;

            if (S != null)
            {
                this.raw      = S.raw;
                this.encoding = S.encoding;
            }
        }
Example #6
0
        public override void Clone(FuzzyObject source)
        {
            base.Clone(source);
            FuzzyHash S = source as FuzzyHash;

            if (S != null)
            {
                Clear();
                foreach (object key in S.Keys)
                {
                    Add(Dup(key), Dup(S[key]));
                }
            }
        }
Example #7
0
        public virtual object Clone()
        {
            FuzzyObject fo = new FuzzyObject();

            fo.className = this.className;
            object Value;

            foreach (FuzzySymbol key in this.InstanceVariables.Keys)
            {
                Value = this.InstanceVariables[key];
                fo.InstanceVariables.Add(Dup(key) as FuzzySymbol, Dup(Value));
            }
            return(fo);
        }
Example #8
0
        public override void Clone(FuzzyObject source)
        {
            base.Clone(source);
            FuzzyArray S = source as FuzzyArray;

            if (S != null)
            {
                Clear();
                foreach (object ob in S)
                {
                    if (ob is ICloneable)
                    {
                        Add((ob as ICloneable).Clone());
                    }
                    else
                    {
                        Add(ob);
                    }
                }
            }
        }
Example #9
0
 public override void Clone(FuzzyObject source)
 {
     throw new Exception("正在试图修改一个FuzzySymbol");
 }
Example #10
0
 internal FuzzyObjectInstanceVariableProxy(FuzzyObject obj)
 {
     this.obj = obj;
 }
Example #11
0
 public FuzzyObjectDebugView(FuzzyObject obj)
 {
     this.obj = obj;
 }