public void print(string action, string[] words, RihaNode[] previuseActionResult) { string printPattern = @"\s*print\s*"; if (MatchesRegex(action, printPattern)) { RihaNode node = previuseActionResult[previuseActionResult.Length - 1]; string value = node.GetString(); codeOutput += value + "\n"; } }
public RihaNode equal(RihaNode[] parameters) { bool ret = false; RihaNode comperisonNode = parameters[parameters.Length - 1]; if (comperisonNode.GetNodeType() == GetNodeType()) { if (comperisonNode.GetString() == GetString()) { ret = true; } } return(new RihaNode(ValueType.boolean, ret)); }
public void Add(RihaNode addNode) { if (type == ValueType.number) { float add = addNode.GetNodeType() == ValueType.number ? RihaNode.GetNumeric(addNode.GetValue()) : 0; float newValue = RihaNode.GetNumeric(value) + add; value = newValue.ToString(); } else if (type == ValueType.text) { value += addNode.GetString(); } else if (type == ValueType.array) { ((List <RihaNode>)value).Add(addNode); } }