No history yet

条件语句与循环

用条件语句表示决策

在现实世界的流程中,我们经常需要根据不同的情况做出不同的选择。例如,“如果今天下雨,就带伞;否则,就戴太阳镜。” 在 Mermaid 流程图中,我们可以使用条件语句来表示这种决策点。

最常见的条件结构是 if-else。它通过一个菱形节点来表示判断,然后根据判断结果(通常是“是”或“否”)引出不同的分支。

graph TD
    A[开始] --> B{天气如何?};
    B -- 下雨 --> C[带伞];
    B -- 晴天 --> D[戴太阳镜];
    C --> E[出门];
    D --> E;

在这个例子中,B{天气如何?} 就是一个决策节点。注意,决策节点的文本写在花括号 {} 内。从这个节点出发有两条路径,分别标记为 下雨晴天,引导流程走向不同的后续步骤。最终,无论选择哪条路径,流程都会汇合到 E[出门] 节点。

这种结构非常适合表示任何需要判断和选择的场景,比如用户登录验证、订单状态检查或审批流程。

决策节点(菱形)是流程图中的岔路口,它让你的图表能够根据特定条件走向不同的方向。

用循环表示重复操作

有些任务需要反复执行,直到满足某个条件为止。想象一下洗盘子:只要水槽里还有脏盘子,你就会一直洗。这就是一个循环。在 Mermaid 中,我们可以通过将流程线指回一个较早的节点来创建循环。

这通常与一个决策节点结合使用,该节点检查循环是否应该继续。

Lesson image

来看一个检查库存的例子。只要产品库存低于阈值,就需要不断订购新货。

graph TD
    A[开始] --> B{库存是否充足?};
    B -- 是 --> C[完成];
    B -- 否 --> D[订购新货];
    D --> B;

在这个流程图中,如果 库存是否充足? 的答案是 ,流程会进入 订购新货 步骤,然后又返回到 库存是否充足? 这个决策点,形成一个循环。只有当库存充足时,循环才会结束,流程走向 完成

这种结构对于表示需要重复检查或操作的流程非常有用,比如等待文件上传、处理队列中的任务或进行多轮测试。

更复杂的逻辑

通过组合使用条件和循环,你可以构建出能够清晰表达复杂逻辑的流程图。你可以嵌套条件语句(在一个 if 分支中再加入一个 if),或者在循环内部设置多个决策点。

关键在于保持图表的清晰和易读性。即使逻辑再复杂,一个好的流程图也应该能让其他人轻松理解其中的步骤和决策过程。

使用流程图来可视化流程、顺序和因果关系。

例如,一个处理在线订单的流程可能既包含条件判断(支付是否成功?)也包含循环(如果支付失败,允许用户重试三次)。

graph TD
    subgraph 订单处理
        A[接收订单] --> B[检查库存];
        B -- 有货 --> C{支付是否成功?};
        B -- 无货 --> D[通知用户缺货];
        C -- 是 --> E[发货];
        C -- 否 --> F{重试次数 < 3?};
        F -- 是 --> G[提示用户重试];
        G --> C;
        F -- 否 --> H[取消订单];
    end

这个图表结合了我们学到的所有概念:

  • 顺序流程: 从 接收订单 开始。
  • 条件分支: 检查库存支付是否成功? 是两个决策点。
  • 循环: 从 提示用户重试 返回到 支付是否成功? 形成了一个重试循环。

通过这种方式,即使是复杂的业务逻辑也能被直观地呈现出来。

准备好测试你对 Mermaid 条件和循环的理解了吗?

Quiz Questions 1/5

在 Mermaid 流程图中,用于表示决策或条件判断的节点的文本应该放在什么符号内?

Quiz Questions 2/5

在 Mermaid 流程图中创建循环的常见方法是什么?

掌握了条件和循环,你就拥有了在 Mermaid 中绘制几乎任何流程的强大能力。不断练习,你就能将复杂的逻辑变得清晰明了。