Skip to content

Commit 3dc3f59

Browse files
committed
Add some line breaks
1 parent d9b9c64 commit 3dc3f59

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

content/post/2024-11-26-typed-fsm.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ typed-fsm-zig 是一种编程的思想,掌握这种思想就能方便的使用
4040
ATM 代表自动取款机,因此它的代码的逻辑就是模拟自动取款机的一些行为:插入银行卡,输入pin,检查pin,取钱,修改pin。
4141

4242
它的状态机整体如下:
43+
4344
![ATM](/images/typed-fsm/2.1-1.png)
4445

4546
图中椭圆形表示状态,箭头表示消息。
@@ -52,12 +53,15 @@ ATM 代表自动取款机,因此它的代码的逻辑就是模拟自动取款
5253
这代表了一种循环,表示用户输错了pin,但是可以再次尝试输入pin,当然我们要求最多可以尝试三次。
5354

5455
整个程序效果如下:
56+
5557
![ATM](/images/typed-fsm/2.1-2.png)
5658

5759
这里注意消息Update, 它代表跟新pin,同时将状态转从changePin换到ready。
60+
5861
![ATM](/images/typed-fsm/2.1-4.png)
5962

6063
实际的表现就是在changePin的界面中我们修改pin,然后点击Change按钮触发Update消息,修改pin,并返回到ready界面。
64+
6165
![ATM](/images/typed-fsm/2.1-3.png)
6266

6367
接下来的文章中我将修改Update的行为,并展示在这个过程中类型系统如何帮助我快速调整代码。
@@ -78,6 +82,7 @@ ATM 代表自动取款机,因此它的代码的逻辑就是模拟自动取款
7882
我们修改这里,把它变成.cardInserted , 这代表了我们要求跟新完pin之后进入cardInserted界面重新输入新的pin,这看着是个合理的要求。
7983
8084
新的状态图如下:
85+
8186
![ATM](/images/typed-fsm/2.2-1.png)
8287
8388
@@ -119,6 +124,7 @@ referenced by:
119124
120125
这一节中我们尝试移除changePin状态,看看类型系统会给我们什么反馈。
121126
如果移除changePin,新的状态图如下:
127+
122128
![ATM](/images/typed-fsm/2.3-1.png)
123129
124130
重新编译项目,将获得类型系统的反馈

0 commit comments

Comments
 (0)