读者通过执行程序来回答 Execute Program 的交互卡片[1]。Execute Program 不包含任何其他类型的卡片。
例如,一节关于正则表达式的课程可能会有这样一个卡片:
Q./a..b/.test(“a\ncb”)的输出是什么?
A.false
读者需要通过在 REPL 中实际输入 false 并执行该表达式来回答这个卡片。
该课程也就无法包含这类更典型的间隔重复记忆系统[2]卡片:
Q..不匹配哪些字符(在许多实现中)?
A.\n
主要涉及概念的课程(例如 SQL 约束分析)很难适配这种模式。
正因为 Execute Program 只有一种卡片类型:Execute Program 的卡片既是应用卡片,也是回忆卡片[3]。
Q. 请举一个 Execute Program 无法编码的卡片的例子?
A. lass="nolink">例如:「Q. * 和 + 之间的区别是什么? A. * 允许零次匹配」
Q. 为什么 Execute Program 的 SQL 约束分析课程无法利用其间隔重复系统?
A. 该课程主要是概念性的,其中的想法难以被编码为可执行的表达式。
参考资料
与 Gary Bernhardt 的对话,2020-03-24
链接至本文(已汉化)
声明
此内容发布由 Andy Matuschak 许可。未经允许,不得转载或修改。保留所有权利。
Thoughts Memo 汉化组译制
感谢主要译者 gemini-3-pro-preview,校对 Jarrett Ye
原文:Execute Program doesn’t have non-executable prompts
参考
1. 读者通过执行程序来回答 Execute Program 的交互卡片 ./1999149514427213729.html2. 间隔重复记忆系统(Spaced repetition memory system) ./404257681.html
3. Execute Program 的卡片既是应用卡片,也是回忆卡片 ./2000259693428351079.html