Axiom.Runtime.Instructions.GetStructureInstruction.Process C# (CSharp) Метод

Process() публичный Метод

public Process ( object arguments ) : void
arguments object
Результат void
        public override void Process(object[] arguments)
        {
            _arguments = arguments;
            char[] sep = { '/' };
            string arg0 = (string)arguments[0];

            _structureName = arg0.Split(sep, 2)[0];
            _arity = Int32.Parse(arg0.Split(sep, 2)[1]);

            _ai = (string)arguments[1];
        }

Usage Example

        public void GetStructure()
        {
            AbstractMachineState state = SetupMachine();

            GetStructureInstruction i = new GetStructureInstruction();

            object[] args = { "s/2", "X0" };

            i.Process(args);

            i.Execute(state);

            Assert.AreEqual("get_structure", i.Name());
            Assert.AreEqual(2, i.NumberOfArguments());

            AbstractTerm X0 = ((AbstractTerm)state["X0"]).Dereference();

            Assert.AreEqual("s", X0.Name);
            Assert.AreEqual(2, X0.Arity);
        }