跳转到内容

模組討論:IfUtil

页面内容不支持其他语言。
维基百科,自由的百科全书

请问一下模板的这个功能怎么实现?

[编辑]

请问一下,如何在模板中实现输入{{模板|A=yes}}则输出A,无参数或其他参数则输出B这样的功能?--侧耳倾听 2020年10月12日 (一) 04:11 (UTC)[回复]

Wikipedia:解析器函数,#switch。——Sakamotosan路过围观杯弓蛇影| 避免做作,免敬 2020年10月12日 (一) 08:16 (UTC)[回复]
應該是{{#ifeq}}吧-- Sunny00217  2020年10月12日 (一) 12:10 (UTC)[回复]
不考虑表达式计算而是以常量对比的话,if堆和switch基本可互换。——Sakamotosan路过围观杯弓蛇影| 避免做作,免敬 2020年10月12日 (一) 14:04 (UTC)[回复]
註:本討論之中有部分是透過Module:IfUtil實現,因此稍後會將本討論標記為存檔至Module talk:IfUtil。-- 娜娜奇🐰楓香花茶(宇帆·☎️·☘️2020年10月20日 (二) 09:06 (UTC)[回复]
那直接標記就好了為甚麼要稍後呢?-- Sunny00217  2020年10月24日 (六) 14:27 (UTC)[回复]

編輯請求 2022-11-24

[编辑]

请求已处理--Xiplus#Talk 2022年12月1日 (四) 05:03 (UTC)[回复]

請刪除第198行module:IfUtil#L-198「parentFirst=true,」,該函數不應讀取外層模板參數,討論見Wikipedia:互助客栈/技术#Template:Infobox_settlement-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年11月24日 (四) 08:33 (UTC)[回复]

Template:Infobox settlement

[编辑]
已解決:
不當讀取參數之問題已獲解決-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年12月17日 (六) 04:01 (UTC)[回复]
下列討論已經關閉,請勿修改。如有任何意見,請在合適的討論頁提出,而非再次編輯本討論。

瓦爾納 (60158610) 中发现 {{Infobox settlement}} 问题,起因是模板中填写 |official_name Zabr,即缺少了 “=” 符号,结果“official_name Zabr”出现在了 人口->统计 处,这里是不是应该像其他未知参数一样只应该在预览中显示,不直接显示在最终结果里面?忘记添加“=”应该是比较常见的笔误。另外,也许其他模板可能也有类似的问题。 --Kethyga留言2022年11月24日 (四) 04:42 (UTC)[回复]

A2569875似是模块:IfUtilifnoAddTail不良,local input_str = args['1'] or args[1] or ''。重现方式,编辑Template:Infobox settlement/sandbox,内容替换为{{#invoke:IfUtil|ifnoAddTail|{{{population_total}}}|人}},用用户:YFdyh000/沙盒预览。--YFdyh000留言2022年11月24日 (四) 06:14 (UTC)[回复]
@YFdyh000:刪除module:IfUtil#L-198「parentFirst=true,」讓他不要向外層模板讀取參數即可。因為你列出的那一行程式碼並非不良(讀取1號參數哪裡不良了??),而是ifnoAddTail會讀到外層模板參數,然後外層模板剛好提供了1號參數,所以只要讓他不要去讀取外層模板的參數即可。-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年11月24日 (四) 08:17 (UTC)[回复]
没注意到这个参数。没有文档和跨语言,我不太明白它是做什么。会读取无关未传入参数,所以我说读取一号参数可能出了问题。功能不良,指运行不正常,也许您误会了。--YFdyh000留言2022年11月24日 (四) 08:33 (UTC)[回复]
@YFdyh000(:)回應:「parentFirst=true,」的功能就是「讀取外層模板參數」,並讓「外層模板參數」優先於「內層模板參數」。「內層模板參數」指的是跟{{#invoke:}}寫在一起的參數,「外層模板參數」是呼叫包含{{#invoke:}}的模板(外層模板)時傳的參數。本參數本該跟{{#invoke:}}寫在一起的,不應讀取到外面那層模板呼叫時所包含的參數,故刪除「parentFirst=true,」就會阻止「外層模板參數」的讀取,就不會讀到外層模板給出的1號參數,以便解決此問題。-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年11月24日 (四) 14:08 (UTC)[回复]
@YFdyh000:總之,此例癥結點就在於模板外層的參數與ifnoAddTail無關,所以只要讓ifnoAddTail不要讀取外層模板的參數,問題就解決了;讀取1號參數本來就是正常行為,有什麼問題??,這個函數本來就是要這樣工作的,不然要讀取什麼鬼參數?,不認為你列出的那行乃至於那個函數的功能有什麼不良。已提出編輯請求Module_talk:IfUtil#編輯請求_2022-11-24-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年11月24日 (四) 08:39 (UTC)[回复]
囧rz……意思只是问题存在于那个模块、那句(附近)相关(读匿名参数1),不是一定要改掉这句。总之能解决就行。--YFdyh000留言2022年11月24日 (四) 14:19 (UTC)[回复]
能解決是能解決,但是要等編輯請求Module_talk:IfUtil#編輯請求_2022-11-24。-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年11月24日 (四) 14:24 (UTC)[回复]
@YFdyh000Kethyga編輯請求已完成,考察User:YFdyh000/沙盒&oldid=74753283可得知問題已解決。-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年12月1日 (四) 06:20 (UTC)[回复]
@YFdyh000Kethyga:請協助複查問題是否已解決,感謝。-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年12月8日 (四) 03:31 (UTC)[回复]
问题解决。--YFdyh000留言2022年12月8日 (四) 04:38 (UTC)[回复]
测试了几个基于 {{Infobox settlement}} 的模板,没看到问题。--Kethyga留言2022年12月9日 (五) 04:11 (UTC)[回复]

確認問題已解決。-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年12月17日 (六) 04:01 (UTC)[回复]

本討論已關閉,請勿修改。如有任何意見,請在合適的討論頁提出,而非再次編輯本討論。

編輯請求 2022-12-30

[编辑]

请求已处理--Xiplus#Talk 2023年2月9日 (四) 11:27 (UTC)[回复]

(本模組的開發者請求)刪除第79第80行,因為參數重複給定(因為前兩 已給定參數,79、80行的tonumber後的參數在解析器下會視為相同)以便清理Category:调用重复模板参数的页面(例如在Template:Cexpr/doc就有體現出此問題[請在該頁編輯預覽就可以看到警示])-- 宇帆-雪菲蛋糕🎂娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2022年12月30日 (五) 09:01 (UTC)[回复]

編輯請求 2023-12-26

[编辑]

请求已处理

(本模組的開發者請求)將重複的數字參數清除,以便清理Category:调用重复模板参数的页面分類。測試結果見:

可以看出,新的patch修正了重複參數的問題。-- 宇帆-娜娜奇🐰鮮果茶☕在維基百尋求休閒是否搞錯了什麼☎️·☘️2023年12月26日 (二) 14:45 (UTC)[回复]

完成--百無一用是書生 () 2024年1月22日 (一) 12:31 (UTC)[回复]