打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

目前wiki关闭了自行注册账号的功能,如需注册账号,请查阅Help:注册账号

模板:Yesno-yes

来自RIA | Wiki
Aunst留言 | 贡献2025年2月23日 (日) 15:37的版本 (添加模板)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

yes

模板文档

{{Yesno}} 基于输入和几个可配置参数, 评估输入并生成统一的 yes 或 nil 输出。它用于构建复杂的模板。

使用

该模板会分类在第一个未命名参数上提供的五种不同类型的输入:

  1. : Yes, y, true, on, , , 1, 不区分大小写。例如: {{Yesno|yEs}}
  2. : No, n, false, off, , , 0, 不区分大小写。例如: {{Yesno|nO}}
  3. 啥都没有: 当输入已定义但不包含任何值或仅包含空白字符时; 例如: {{Yesno|}}{{Yesno| }}
  4. 逻辑非: 当输入是 ¬ 或完全没有传入参数时; 即 {{Yesno|¬}}{{Yesno}}
  5. 其他东西: 例如: {{Yesno|All your base are belong to us.}}

默认情况下, 模板在第一种和最后一种情况下返回 "yes" , 但在其他情况下返回 nil (空白, 空字符串)。

覆盖默认行为的最常见用途的两个简写模板:

  • {{Yesno-yes}} - 始终返回 "yes" (或在模板的 |yes= 参数里定义的内容) , 除非给出明确的否定值; 即, 即使该值为空或缺失, 它也会评估为 "yes"。
  • {{Yesno-no}} - 始终返回 "no" (或在模板的 |no= 里定义的内容) , 除非给出明确的肯定值; 即, 当此值存在且不为任何解析为 "yes" 的内容时, 它会被评估为 "否" 。

自定义输出

模板的输出可以由5个命名参数来自定义, 分别是 |yes=, |no=, |blank=, |¬=|def=。如果这些参数被定义, 模板将会以下面的方式响应:

  1. : 模板返回在 |yes= 参数中定义的内容, 其他情况下返回 "yes"。例如:
    • {{yesno|y|yes=Yeah}} 结果为 "Yeah"
    • {{yesno|y|yes=bacon}} 结果为 "bacon"
  2. : 模板返回在 |no= 参数中定义的内容, 其他情况下返回空值。例如:
    • {{yesno|n|no=Nay}} 结果为 "Nay"
    • {{yesno|n|no=ham}} 结果为 "ham"
  3. 啥都没有: 模板返回在 |blank= 参数中定义的内容, 在没有前者的情况下使用 |no= 参数; 如果依旧未找到前者, 返回空值。
    • {{yesno|blank=eggs}} 结果为 "eggs"
    • {{yesno|no=ham}} 结果为 "ham"
    • {{yesno|blank=eggs|no=ham}} 结果为 "eggs"
  4. 逻辑非: 模板返回在 |¬= 参数中定义的内容, 其他情况下返回空值。例如:
    • {{yesno|¬|¬=sausage}} 结果为 "sausage"
  5. 其他东西: 模板返回在 |def= 参数中定义的内容, 在没有前者的情况下使用 |yes= 参数; 如果依旧未找到前者, 返回 "yes" 。
    • {{yesno|purple monkey dish washer|def=cup of tea}} 结果为 "cup of tea"
    • {{yesno|purple monkey dish washer|yes=bacon}} 结果为 "bacon"
    • {{yesno|purple monkey dish washer|def=cup of tea|yes=bacon}} 结果为 "cup of tea"

对于命名参数, 使用空白值与省略参数不同。空白命名参数告诉模板自定义返回值为空值。例如:

  • {{yesno|purple monkey dish washer}} 结果为 "yes"
  • {{yesno|purple monkey dish washer|def=}} 结果为 "" [空值]

逻辑差别

{{yesno}} "逻辑值" 及其相关文本概述
输入
参数 1
(|1=)
代码 逻辑返回值 默认返回文本 返回设定的文本 :
|yes=Pos
|no=Neg
|blank=Blank
|¬=Undefined
|def=Def
注释
yes, y, true, 1* {{yesno|yes}} 根据定义的 "yes" "Pos" * 不区分大小写 (Y=y)
一些文本 {{yesno|Some Text}} 默认的 "yes" "Def" "Pos" 当 def=[被省略]
no, n, false, 0* {{yesno|no}} 根据定义的 "" [空值] "Neg" * 不区分大小写 (N=n)
[空值] {{yesno|}} 空值 "" [空值] "Blank" "Neg" 当 blank=[被省略]
1=[空值] 1={{yesno|1=}} 空值 "" [空值] "Blank" "Neg" 当 blank=[被省略]
¬ {{yesno|¬}} ¬ "" [空值] "Undefined"
[被省略] {{yesno}} ¬ "" [空值] "Undefined"
与相关模板对比
输入参数 1 (1=) {{yesno}} {{yesno-yes}} {{yesno-no}}
yes, y, true, 1* "yes" "yes" "yes"
Some Text "yes" "yes" "no"
no, n, false, 0* "" [空值] "no" "no"
[空值] "" [空值] "yes" "no"
1=[空值] "" [空值] "yes" "no"
¬ "" [空值] "yes" "no"
[被省略] "" [空值] "yes" "no"

完整参数列表

未命名参数 |1= 评估输入值。其他参数 (皆为命名参数、可选参数) 是它们各自逻辑结果的返回值。设置后, 所有参数都不会输出默认返回值

{{Yesno
  | 1     =
  | yes   =
  | no    =
  | blank =
  | ¬     =
  | def   =
}}

使用范围及示例

这个模板可以根据输入返回布尔值, 在模板中很有用。

通常情况下, 模板参数会这样设置两种不同的返回值:

{{if: {{{para|}}}|output1|output2}}

以上源代码的含义是:

  • 检测 para 参数:
    • 如果 para 不为空或空格字符, 输出 output1;
    • 否则 (para 为空或只包含空格) 输出 output2

这非常有用, 但有个问题: 当设置了 para=no (或其他什么否定值) , 模板依旧会输出 output1, 这导致了逻辑上的混乱。

解决方法就是这个模板, 模板将输入转化为统一的 yes 或空值, 解决了上述逻辑混乱。

具体的使用方法是在输入参数 ({{{para|}}}) 外面套一层此模板, 如下:

{{if: {{Yesno|1={{{para|}}}}}|output1|output2}}

(上面的 1= 一般可以省略)

本模板的第一个编号参数 ({{{1}}}) 是要检测的输入参数, 上面代码的具体含义是:

  • Yesno 模板评估 para 参数:
    • 如果 para 不为空、否定值 (详细信息见上) 或空格字符, 输出 yes;
    • 否则 (para 为空、否定值或空格字符) 输出空值。
  • 调用 Yesno 模板的模板检测 Yesno 模板的输出:
    • 如果为 yes, 输出 output1;
    • 否则 (空值) 输出 output2

另见

  • Module:Yesno
  • {{Yesno-yes}} — 如果传入值不是明确的否定值, 则默认输出 "yes" 的 Yesno 模板变体
  • {{Yesno-no}} — 如果传入值不是明确的肯定值, 则默认输出 "no" 的 Yesno 模板变体

模板数据

这是用于新版可视化编辑器及其他工具的模板数据文档。

Yesno-yes模板数据

此模板将输入值规范化为 'yes' 或空输出。

模板参数[编辑模板数据]

此模板首选参数不换行的行内格式。

参数描述类型状态
输入值1

被评估的输入值

字符串必需
'是' 的输出yes

当输入值为 'Yes', 'Y', 'True', '是' 或 '1' 的不区分大小写形式时, 模板的输出

字符串可选
'否' 的输出no

当输入值为 'No', 'N', 'False, '否' 或 '0' 的不区分大小写形式时, 模板的输出

字符串可选
空输入值时的输出blank

当输入值不包含任何东西或仅包含空格字符时, 模板的输出

字符串可选
'逻辑非' 的输出¬

当输入值为 '¬' 或完全缺失 (未定义) 时, 模板的输出

字符串可选
回调输出def

当输入值被定义但不为 'yes', 'no'. '1', '0', '¬' 或空值时, 模板的输出。

字符串可选

参考文献及注释