/// <inheritdoc /> /// <summary> /// Обращается к методу хранилища Rename /// </summary> /// <param name="fs">Хранилище функций</param> /// <returns>Возвращает результат работы команды</returns> public ResultOfCommand Execute(IFunctionStorage fs) { if (!fs.IsStored(_oldName)) { return(new ResultOfCommand(false, $"{_oldName} не найдена")); } if (fs.IsStored(_newName)) { return(new ResultOfCommand(false, $"{_newName} используется")); } fs.Rename(_oldName, _newName); return(new ResultOfCommand(true, "Функция перименована")); }
/// <inheritdoc /> /// <summary> /// Обращается к методу хранилища ValueAtPoint /// </summary> /// <param name="fs">Хранилище функций</param> /// <returns>Возвращает результат работы команды</returns> public ResultOfCommand Execute(IFunctionStorage fs) { if (!fs.IsStored(_name)) { return(new ResultOfCommand(false, $"{_name} не найдена")); } return(new ResultOfCommand(true, $"Значение {_name} в точке {_point} = {fs.ValueAtThePoint(_name, _point)}")); }
public Function Resolve(string name) { if (_functionStorage.IsStored(name)) { return(_functionStorage.GetFunction(name)); } throw new Exception($"{name} не обнаружена"); }
/// <inheritdoc /> /// <summary> /// Обращается к методу хранилища Delete /// </summary> /// <param name="fs">Хранилище функций</param> /// <returns>Возвращает результат работы команды</returns> public ResultOfCommand Execute(IFunctionStorage fs) { if (!fs.IsStored(_name)) { return(new ResultOfCommand(false, $"{_name} не найдена")); } fs.Delete(_name); return(new ResultOfCommand(true, "Функция удалена")); }
/// <summary> /// Обращается к методу хранилища Derivative /// </summary> /// <param name="fs">Хранилище функций</param> /// <returns>Возвращает результат работы команды</returns> public ResultOfCommand Execute(IFunctionStorage fs) { if (!fs.IsStored(_name)) { return(new ResultOfCommand(false, $"{_name} не найдена")); } var res = fs.Derivative(_name); fs.Add($"{_name}Derivative", res); return(new ResultOfCommand(true, $"Функция добавлена в хранилище.\nПроизводная {_name} = {res}")); }
/// <inheritdoc /> /// <summary> /// Обращается к методу хранилища Add /// </summary> /// <param name="fs">Храенилище функций</param> /// <returns>Возвращает результат работы команды</returns> public ResultOfCommand Execute(IFunctionStorage fs) { if (fs.IsStored(_name)) { return(new ResultOfCommand(false, $"{_name} уже используется")); } _function.ResolveReferences(new ReferenceResolver(fs)); fs.Add(_name, _function); return(new ResultOfCommand(true, "Функция добавлена")); }
public bool IsStored(string name) { return(_functionStorage.IsStored(name)); }