Ask

Ask["key"]

是用于 AskFunction 内部的一个结构,它给出与 key 关联的值,如果值未知的话则交互式地询问值.

Ask["key"formspec]

使用 formspec 定义输入如何被请求和解释.

Ask[{"key1","key2",}]

给出与所有 keyi 关联的值,必要时则交互式地询问.

Ask[{"key1"->formspec1,"key2"->formspec2,}]

使用 formspeci 定义 keyi 的输入如何被请求和解释.

更多信息

  • Ask["key"] 第一次出现在 AskFunction[{,"key"->spec,},body] 的运算中时,与 "key" 关联的值将交互式地被请求,使用由 spec 指定的表单和解释. Ask["key"] 后面的运算返回存储的值.
  • 如果 Ask["key"] 是在 AskFunction 内部被运算的,并没有给出如何请求 "key" 的规范,则认为它等价于 Ask["key"->"String"].
  • 使用 Ask["key"] 得到的 "key" 值可以通过对随后的 AskAppend[] 结构运算更改,并可以通过 AskConfirm[] 删除.
  • 如果关于如何请求键值的规范在 AskFunction 中给出,它将覆写所包含的 Ask 结构中给出的任何规范. 如果在AskFunction 中没有给出规范,则使用第一个 Ask 中将要运算的规范.
  • Ask["key"]=valueAsk["key"]:=value 可用于设定与 AskFunction 内部的键关联的值,如果该值尚未设定的话t.
  • Ask["key"]=. 取消所设定的与 AskFunction 内部的键关联的值,并且有效地将 AskFunction 内部的运算返回到"key" 值被请求时的点.

范例

打开所有单元关闭所有单元

基本范例  (3)

询问一个数值:

采集用户姓名和电子邮件:

已经知道的答案将不会再次被询问:

推广和延伸  (6)

同时询问多个问题:

当给定多个键时,Ask 也省略已知的问题:

提取已知值:

提取多个已知值:

可以通过编程方式设置值:

如果第一个问题的答案是 "male",与 "pregnant" 关联的值通过编程方式设置为 False

也可以通过编程方式取消对值的设置:

由于该值不是正数,用户将被带回到原来的问题:

属性和关系  (4)

AskAppend 之前使用 Ask 将导致第一个答案在被追加至结果前封装在列表中:

AskAppend 之后使用 Ask 将导致当前已知的值列表被返回,而不出现表单:

AskConfirm 可以用来将运算回退到值已知之前的点. 被 AskAppend 的否定结果删除的 Ask 值将被再次询问:

AskConfirm 可以通过取消设置与键相关联的值来模拟:

可能存在的问题  (1)

如果提供给 Ask 一个不存在的解释器类型,它将默认为 "String"

Wolfram Research (2016),Ask,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Ask.html (更新于 2017 年).

文本

Wolfram Research (2016),Ask,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Ask.html (更新于 2017 年).

CMS

Wolfram 语言. 2016. "Ask." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/Ask.html.

APA

Wolfram 语言. (2016). Ask. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Ask.html 年

BibTeX

@misc{reference.wolfram_2024_ask, author="Wolfram Research", title="{Ask}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/Ask.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_ask, organization={Wolfram Research}, title={Ask}, year={2017}, url={https://reference.wolfram.com/language/ref/Ask.html}, note=[Accessed: 22-November-2024 ]}