"SelectCompletion" (问题界面类型)
"SelectCompletion"
提供了一个填空界面,并为每处空白提供选项.
属性
- 在 QuestionInterface["SelectCompletion",props] 中,props 是一个 Association,支持以下键:
-
"Prompt" None 向用户提问的文字 "Template" (required) 含有可填充空白的模板对象 "Choices" Automatic 每处空白可使用的选项 "ChoiceOrdering" Automatic 对选项进行排序的函数 "Labels" Automatic 每个选项对应的标签 - "Template" 可以是 TemplateObject 或 StringTemplate 支持的任何内容. 提供字符串时,由反引号 `` 表示的模板槽将定义问题界面中空白的位置.
- 默认情况下,"Choices" 继承自 AssessmentFunction,并对其随机排序以避免暴露正确答案.
- 如果直接提供,应以 {{item1a,item1b,…},{item2a,item2b,…},…} 这种形式给出 "Choices",其中,每个子列表包含界面中空白处可用的选项. 默认情况下,保留原有顺序.
- 如果指定了 "ChoiceOrdering"f,则以 {f[{item1a,item1b,…}],f[{item2a,item2b,…}],…} 提供选项.
对应的 AssessmentFunction
- "SelectCompletion" 不是为 AssessmentFunction 自动分配的界面类型. 必须在 QuestionInterface 中指定.
- AssessmentFunction[{val1,…},…] 中的值 vali 应按顺序包含每个填空的答案.
- 应以 AssessmentFunction[{{elem1a, elem2a,…}scorea,{elem1b,elem2b}scoreb},…] 这样的形式构建评估函数,其中,每个列表 {elem1i,elem2i,…} 是答案键中定义可能的正确或错误答案的值.
范例
打开所有单元关闭所有单元基本范例 (3)
Generalizations & Extensions (2)
Possible Issues (2)
AssessmentFunction 中的值应为列表. 对无效的评估函数提交答案将会导致失败:
StringTemplate 创建的 TemplateObject 含有与 "SelectCompletion" 不兼容的选项:
现在,"TextCompletion" 中的模板可以使用:
或者直接使用 TemplateObject,而不是 StringTemplate:
在 "SelectCompletion" 中可以使用: