Конечный автомат должен иметь “вложенный” Конечный автомат?

Я склонен предпочитать vi режим редактирования (так как те нажатия клавиш встраиваются в мой спинной мозг теперь (мозг, не используемый вообще), наряду с CTRL-K, CTRL-X от WordStar 3.3:-). Можно использовать командную строку set -o vi для активации его (и set -o emacs для возвращения).

В Vi, это было бы (ESC-K для подъема строки сначала, конечно) "f5;;B" (без двойных кавычек).

, Конечно, необходимо понять то, что находится на строке для схождения с рук этого. В основном это

f5 to find the first occurrence of "5" (in --option5).
;  to find the next one (in --option15).
;  to find the next one (in --option25).
B  to back up to the start of the word.

, Давайте посмотрим, могут ли emacs поклонники предложить лучшее решение, меньше чем 5 нажатий клавиш (хотя я не хочу запускать религиозную войну).

Вы думали о том, требуется ли, возможно, поместить эту страшно долгую команду в сценарий?:-)

На самом деле, я могу пойти один лучше, чем это: "3f5B" для нахождения третьего возникновения "5" затем обратно до запуска слова.

5
задан Community 23 May 2017 в 12:25
поделиться

2 ответа

Вложенные конечные автоматы - стандартное понятие в UML, так что это не обязательно глупо. Подробнее здесь .

7
ответ дан 18 December 2019 в 14:49
поделиться

Напротив. Возможность вложения конечных автоматов - это хорошо.

Не следует вкладывать конечные автоматы только для того, чтобы выполнить вложение, но иногда конечные автоматы становятся довольно большими. Наличие такого большого чертежа подрывает предназначение конечной модели, поскольку не дает вам хорошего обзора внутренней работы. Это становится просто огромной диаграммой с множеством деталей.

Я думаю, вы можете сравнить ее с классами. Если вы поместите все в один класс (и, что еще хуже, сделаете все статичным), цель и преимущества наличия класса исчезнут.

То же самое и с автоматами.

Чтобы дать вам пример, в моем колледже есть довольно "реалистичная" модель поведения собаки, использующая автомат. У него огромная модель, и, имея вложенные конечные автоматы, я смог понять модель всего за несколько минут.

Так что это определенно хорошо, если ее правильно использовать.

3
ответ дан 18 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: