AlbLib.Scripting.ScriptExecutionMachine.Execute C# (CSharp) Метод

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

Executes a script.
public Execute ( string script, ScriptExecutionException &exception ) : bool
script string /// Script text. ///
exception ScriptExecutionException /// Thrown exception, if any, will be stored there. ///
Результат bool
        public bool Execute(string script, out ScriptExecutionException exception)
        {
            string line = null;
            int i = -1;
            try{
                string[] lines = script.Split('\n');
                for(i = 0; i < lines.Length; i++)
                {
                    line = lines[i].Trim();
                    if(line.Length == 0)
                    {
                        continue;
                    }else if(line[0] == ';')
                    {
                        OnComment(line.Substring(1));
                    }else{
                        string[] parts = line.Split(new[]{' '}, StringSplitOptions.RemoveEmptyEntries);
                        int[] args = new int[parts.Length-1];
                        for(int j = 1; j < parts.Length; j++)
                        {
                            if(!int.TryParse(parts[j], out args[j-1]))
                            {
                                throw new ScriptExecutionException(i+1, line, string.Format("Cannot parse argument \"{0}\".", parts[j]), null);
                            }
                        }
                        OnFunction(parts[0], args);
                    }
                }
                exception = null;
                return true;
            }catch(ScriptExecutionException e)
            {
                exception = e;
                return false;
            }catch(Exception e)
            {
                exception = new ScriptExecutionException(i+1, line, e.Message, e);
                return false;
            }
        }

Same methods

ScriptExecutionMachine::Execute ( string script ) : bool