显示逻辑运行引擎
#
基本原则使用show
和hide
关键字则意味着使用了显示逻辑
DSL在运行的时候遵循一下3个原则
- 题目默认为显示状态
- 如果题目使用了
show
,则默认变成隐藏状态 - 按照DSL顺序运行,满足条件时,改变题目的显示状态
下面具体举例说明:
#
场景一if Q1A1 then show Q2
#
未填答时语句 | 运行引擎理解 | Q2的显示状态 |
---|---|---|
初始化,Q2用到了show 关键字,遵循原则2 | 隐藏 | |
if Q1A1 then show Q2 | Q1A1未答,条件不满足,忽略then后面的行为 | 隐藏 |
最终Q2是隐藏的
#
选中了Q1A1语句 | 运行引擎理解 | Q2的显示状态 |
---|---|---|
初始化,Q2用到了show 关键字,遵循原则2 | 隐藏 | |
if Q1A1 then show Q2 | Q1A1已答,条件满足,运行then后面的行为 | 显示 |
最终Q2是显示的
#
场景二if Q1A1 then show Q2if Q1A2 then show Q2~3if Q1A3 then show Q2~4
#
未填答时语句 | 运行引擎理解 | Q2的显示状态 |
---|---|---|
初始化,Q2用到了show 关键字,遵循原则2 | 隐藏 | |
if Q1A1 then show Q2 | Q1A1未答,条件不满足,忽略then后面的行为 | 隐藏 |
if Q1A2 then show Q2~3 | Q1A2未答,条件不满足,忽略then后面的行为 | 隐藏 |
if Q1A3 then show Q2~4 | Q1A3未答,条件不满足,忽略then后面的行为 | 隐藏 |
最终Q2是隐藏的
#
选中了Q1A2语句 | 运行引擎理解 | Q2的显示状态 |
---|---|---|
初始化,Q2用到了show 关键字,遵循原则2 | 隐藏 | |
if Q1A1 then show Q2 | Q1A1未答,条件不满足,忽略then后面的行为 | 隐藏 |
if Q1A2 then show Q2~3 | Q1A2已答,条件满足,运行then后面的行为 | 显示 |
if Q1A3 then show Q2~4 | Q1A3未答,条件不满足,忽略then后面的行为 | 显示 (保留上一次状态) |
最终Q2是显示的