Skip to content

Commit

Permalink
Merge pull request #10 from artbear/patch-2
Browse files Browse the repository at this point in the history
Исправлены мелкие синтакс-проблемы, запятые, опечатки
  • Loading branch information
nixel2007 authored Nov 23, 2024
2 parents 029793b + 0691278 commit 68cf932
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
Поделка.ЗапуститьПриложение();
```

Допустим мы хотим сделать приложение, которое имеет следующие команды:
Допустим, мы хотим сделать приложение, которое имеет следующие команды:

```plus``` - Принимает один числовой аргумент, и прибавляет к нему 10. Выводит результат в консоль.
```plus``` - Принимает один числовой аргумент и прибавляет к нему 10. Выводит результат в консоль.

```hello``` - Имеет опцию ```name```, и выводит в консоль приветствующее сообщение.
```hello``` - Имеет опцию ```name``` и выводит в консоль приветствующее сообщение.

```date``` - Имеет две подкоманды, ```day``` выводит в консоль начало дня, и ```month``` выводит в консоль начало месяца.

Expand All @@ -30,7 +30,7 @@

```Каталог/С/Классами/Команд/КомандаПлюс.os```
```bsl
&Аргумент(Имя = "ARG", Описание = "Значение числа") // Определим аргумент, и дадим ему описание
&Аргумент(Имя = "ARG", Описание = "Значение числа") // Определим аргумент и дадим ему описание
&ТЧисло // Укажем тип аргумента
Перем ПереданноеЧисло;
Expand All @@ -39,7 +39,7 @@
КонецПроцедуры
&ВыполнениеКоманды // Метод, помеченный этой аннотацией будет выполнены при вызове команды.
&ВыполнениеКоманды // Метод, помеченный этой аннотацией, будет выполнен при вызове команды.
Процедура ВывестиРезультатСложения() Экспорт
Результат = ПереданноеЧисло + 10;
Expand All @@ -53,11 +53,11 @@

```&КомандаПриложения(Имя = "p plus", Описание = "Прибавляет 10 к заданному числу")```

В которой указали имя команды и ее описание. А для определения аргумента команды, была создана переменная с аннотацией
В которой указали имя команды и ее описание. А для определения аргумента команды была создана переменная с аннотацией

```&Аргумент(Имя = "ARG", Описание = "Значение числа")```

Для того, что бы дать понять библиотеке, какой метод нужно выполнить при вызове команды, нужно сделать экспортный метод с аннотацией
Чтобы дать понять библиотеке, какой метод нужно выполнить при вызове команды, нужно сделать экспортный метод с аннотацией

```&ВыполнениеКоманды```

Expand Down Expand Up @@ -85,7 +85,7 @@
КонецПроцедуры
```

В этом примере, для определения опции команды, была создана переменная с аннотацией
В этом примере, для определения опции команды была создана переменная с аннотацией

```&Опция(Имя = "n name", Описание = "Имя пользователя")```

Expand Down Expand Up @@ -149,11 +149,11 @@

- ```Подкоманда``` - Имя желудя подкоманды (Идентификатор или имя класса). параметр повторяемый, т.е. может быть несколько подкоманд.

- ```ДобавлятьАннотациюЖелудь``` - Управляет добавлением корневой аннотации "Желудь". По умолчанию - истина. Трогать стоит только в случае если вы знаете, что делаете, при работе с мета-аннотациями над командами приложения.
- ```ДобавлятьАннотациюЖелудь``` - Управляет добавлением корневой аннотации "Желудь". По умолчанию - истина. Трогать стоит только в случае, если вы знаете, что делаете, при работе с мета-аннотациями над командами приложения.

## Типы аргументов и опций

Имеется набор аннотаций, которые можно добавить к полям команд, которые обозначат, к какому типу нужно приводить эти поля
Имеется набор аннотаций, которые можно добавить к полям команд, и которые обозначат, к какому типу нужно приводить эти поля

```bsl
&ТБулево
Expand Down Expand Up @@ -202,7 +202,7 @@
}
}
```
- более подробая информация о файле настройки в [документации ОСени](https://github.com/autumn-library/autumn#внедрение-настроек-приложения)
- более подробная информация о файле настройки в [документации ОСени](https://github.com/autumn-library/autumn#внедрение-настроек-приложения)

2) В каталог с командами, которые будут загружены в контекст осени, добавить желудь с определенным интерфейсом

Expand Down Expand Up @@ -230,9 +230,9 @@

Инфраструктурный, условный ```main.os``` от вашего приложения не нужен. он должен быть запущен при помощи [ОСени](https://github.com/autumn-library/autumn). Дальше перед вами три пути:

Первый - команды модифицировать аннотациями конструктора ```&КомандаПриложения``` или ```&ПодкомандаПриложения```. оставить методы ```ОписаниеКоманды``` и ```ВыполнитьКоманду```, тогда фреймворк поймет что они уже реализованы, и не будет генерировать для них код.
Первый - команды модифицировать аннотациями конструктора ```&КомандаПриложения``` или ```&ПодкомандаПриложения```, оставить методы ```ОписаниеКоманды``` и ```ВыполнитьКоманду```, тогда фреймворк поймёт, что они уже реализованы, и не будет генерировать для них код.

Второй - команды модифицировать аннотациями конструктора ```&КомандаПриложения``` или ```&ПодкомандаПриложения```. убрать методы ```ОписаниеКоманды``` и ```ВыполнитьКоманду```, и создать поля класса, с необходимыми аннотациями, и метод с аннотацией ```&ВыполнениеКоманды```. В таком случае фреймворк сгенерит все остальное за вас.
Второй - команды модифицировать аннотациями конструктора ```&КомандаПриложения``` или ```&ПодкомандаПриложения```, убрать методы ```ОписаниеКоманды``` и ```ВыполнитьКоманду```, и создать поля класса, с необходимыми аннотациями, и метод с аннотацией ```&ВыполнениеКоманды```. В таком случае фреймворк сгенерит все остальное за вас.

Третий - Команды оставить без изменений, но создать класс - дуб, который превратит ваши команды в желуди. Для понимания, приведу пример, как можно "ожелудить" небольшую команду:

Expand Down Expand Up @@ -273,10 +273,8 @@
КонецФункции
```

Таким не самым хитрым способом, мы можем не изменяя кода уже существующих команд, превратить их в желуди, и добавить нужных аннотаций.
Таким не самым хитрым способом, мы можем, не изменяя кода уже существующих команд, превратить их в желуди и добавить нужных аннотаций.

## Больше примеров

Описанные классы можно посмотреть в каталоге [example](https://github.com/autumn-library/autumn-cli/tree/master/example) и еще больше примеров команд в каталоге [tests](https://github.com/autumn-library/autumn-cli/tree/master/tests/%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B)


0 comments on commit 68cf932

Please sign in to comment.