Пример #1
0
        private (RacketExpression?, string) ParseLine(string str)
        {
            RacketExpression?expression = null;
            RacketValueType? retValue;
            string           retValueString;

            try
            {
                expression = RacketExpression.Parse(str);
                retValue   = expression?.Evaluate();

                retValueString = retValue?.ToString() ?? "";
            }
            catch (Exception ex)
            {
                retValueString = $"; {ex.Message}";
            }

            if (!string.IsNullOrEmpty(retValueString))
            {
                retValueString += Environment.NewLine;
            }
            return(expression, retValueString);
        }