![]() |
1
2
如果条件非常普遍(例如,几乎每个允许的转换都有它们),那么后一个结构就非常好,除了用“,”而不是“{}”表示hashref的语法错误之外。
请注意,检查代码的可读性是非常清楚,虽然体积庞大,并不是很习惯。
|
![]() |
2
1
尽管我在很大程度上同意DVK,但我不得不说,一旦你开始深入研究散列数组的数组,你就达到了一个代码复杂度的水平,如果没有大量的头和错误旋转,就很难维护它。
类的实现取决于用户,但我会使用Moose。 这样做的主要好处是封装了状态图的工作方式,因此您可以直接使用它,并担心该图的工作方式与其使用位置分离。
在内部,它可以这样做,或类似的事情:
这还有一个很酷的好处,即不需要一个特定的代码集来处理子节点,您可以使用它们自己的行为创建单独的实例,以防您希望对一个源状态进行不同的处理。
希望这有帮助。 |
![]() |
3
1
第二种形式没有问题。你不能回避这样一个事实:你必须在某个地方对状态机进行编码。事实上,我认为将整个机器编码在一个这样的地方,更容易理解抽象层太多的东西,你需要在n个不同的地方寻找,才能理解机器的流程。 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 2 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 2 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 2 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 6 年前 |