• 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
  • 有任何意见、建议、求助、反馈都可以在 讨论板 提出
  • THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正

帮助:转置扩展

来自THBWiki
跳转至: 导航搜索

转置扩展是一个提供将多个数列转置显示功能的Mediawiki插件。

安装

  1. 你需要最新版本(1.5.0)的MultiArrayMap.zip
  2. 解压到extensions目录下。
  3. LocalSettings.php末尾加上require_once( "$IP/extensions/MultiArrayMap/MultiArrayMap.php" );
  4. 安装完成。

配置

此扩展的配置变量及说明(英文)均可以在MultiArrayMap/MultiArrayMap.settings.php中找到,以下是中文说明:

  • $wgMultiArrayMapCountLimit,设定函数#countmap和#counttem可以生成的最大结果数,超出时将会直接输出直至超出前的结果,默认为100。

调用函数

arraymaparraymaptemplate函数原本出自Extension:Page Forms,是一个辅助表单编辑器的函数。不过本Wiki实在用不着表单编辑器,那表单编辑器效果也没有目前我们使用的输入提示好用。虽然表单没用,但附带的函数十分好用,基于“不用的扩展就不要留着拖慢系统”的原则,我就把这两个函数从Page Forms移植到Multi Array Map之中了。

arraymap

把输入字串以分隔符切开后逐个代入格式字串中求值,最后用输出分隔符串合输出。分隔符开头或结尾是空格时必须用nowiki包裹,输出分隔符也是如此,亦可以用\n表示换行。格式字串中可以随便使用模板和函数而不需要使用nowiki,所有运算都会在代入之后发生,只有使用管道符“|”的时候才必须使用“{{!}}”(花括号同理)。如需处理二维阵列请用#multimap

格式
{{#arraymap: 字串 | 分隔符(默认为“,”) | 代号 | 格式字串 | 输出分隔符(默认为“, ”,注意有空格) }}
例子
{{#arraymap:花妈 紫妹妹 八意大妈 八坂老太 二妹 | <nowiki> </nowiki> | @ | {{color:red|@}} | , }}花妈紫妹妹八意大妈八坂老太二妹

arraymaptemplate

arraymap的模板变体,切开后会输入模板再以分隔符串合输出。如需处理二维阵列请用#multitem

格式
{{#arraymaptemplate: 字串 | 模板名 | 分隔符(默认为“,”) | 输出分隔符(默认为“, ”,注意有空格) }}
例子
{{#arraymaptemplate: ComicMarket#88,ComicMarket#89,ComicMarket#90,ComicMarket#91 | 展会作品列表链接 |,|,}}ComicMarket#88ComicMarket#89ComicMarket#90ComicMarket#91

multimap

把输入的多个字串以对应的分隔符切开后组合成一个二维阵列,转置后以对应的代号代入格式字串中求值,最后用输出分隔符串合输出。注意字串、分隔符和代号必须一组一组整齐地定义,即使是空字串。此函数比较高消耗,情况许可的话请尽量使用multitem。阵列列数以第一行的数量为准,如果之后的行列数不足,则会自动以行内最后一个值补全,多出则无条件消去。分隔符开头或结尾是空格时必须用nowiki包裹,对输出分隔符也有效,空分隔符则表示逐字分开,亦可以用\n表示换行。如需只是处理一维阵列请用#arraymap

格式
{{#multimap: 空 | 格式字串 | 输出分隔符 | 字串1 | 字串1分隔符 | 字串1代号 | 字串2 | 字串2分隔符 | 字串2代号 | ... | 字串n | 字串n分隔符 | 字串n代号 }}
例子
{{#multimap:|on. @×m={{#expr:@*m}}
|<br />
|1,2,3,4|,|@ 
|10, 20, 30
|<nowiki>, </nowiki>|m
|5678|
|n
|q
w
e
r|\n
|o
}}
输出
q5. 1×10=10
w6. 2×20=40
e7. 3×30=90
r8. 4×30=120

multitem

multimap的模板变体,转置后会输入模板再以分隔符串合输出。如需只是处理一维阵列请用#arraymaptemplate

格式
{{#multitem: 模板名 | 自定义参数 | 输出分隔符 | 选项 | 字串1 | 字串1分隔符 | 字串1参数名 | 字串2 | 字串2分隔符 | 字串2参数名 | ... | 字串n | 字串n分隔符 | 字串n参数名 }}
例子
{{#multitem:{{!}}|n=x|<br />|f0
|1,2,3|,|1
|10,20,30,40|,|2
}}
输出
{{||1=1|2=10|n=x|#=1}}
{{||1=2|2=20|n=x|#=2}}
{{||1=3|2=30|n=x|#=3}}

countmap

变相的for loop,能更直接地运算并输出结果,生成的最大结果数由$wgMultiArrayMapCountLimit限制。

格式
{{#countmap: 代号 | 格式字串 | 输出分隔符 | 起始值(默认为1) | 最终值(默认为1) | 增加值(默认为1) }}
例子
{{#countmap:@|{{#expr:@*@}}|,|1|10}}1,4,9,16,25,36,49,64,81,100

counttem

countmap的模板变体。

格式
{{#counttem: 模板名 | 参数名 | 自定义参数 | 输出分隔符 | 起始值 | 最终值 | 增加值 }}

注意参数名均不能为空。

输入
{{#counttem:{{!}}|1|#=1|<br />|5|-5|-2}}
输出

{{||1=5|#=1}}
{{||1=3|#=1}}
{{||1=1|#=1}}
{{||1=-1|#=1}}
{{||1=-3|#=1}}
{{||1=-5|#=1}}

multisub

multimap的子对象(Subobject)变体,转置后会输入SMW的Subobject函数。

格式
{{#multisub: 子对象名称格式 | 序号代号 | 自定义属性 | 字串1 | 字串1分隔符 | 字串1属性名 | 字串2 | 字串2分隔符 | 字串2属性名 | ... | 字串n | 字串n分隔符 | 字串n属性名 }}
输入
{{#multisub:名称@{{!}}编号=@|@|固定属性=1
|1,2,3|,|属性名1
|10, 20, 30|<nowiki>, </nowiki>|属性名2
}}
输出
与
{{#subobject:名称1|编号=1|属性名1=1|属性名2=10|固定属性=1}}
{{#subobject:名称2|编号=2|属性名1=2|属性名2=20|固定属性=1}}
{{#subobject:名称3|编号=2|属性名1=3|属性名2=30|固定属性=1}}
等效

stringunique

去掉一字串按特定分隔符分割后重复的段落。

格式
{{#stringunique: 字串 | 分隔符(默认为回车) }}
例子
{{#stringunique:1,1,2,3,4,5,9,9,2|,}}1,2,3,4,5,9
{{#stringunique:1 1 2 3 4 5 9 9 2|<nowiki> </nowiki>}}1 2 3 4 5 9

redirect

获取文字标题经过重定向后的最终目标标题字串。可以通过使用分隔符参数同时输入多个标题,运算后会使用输出分隔符串合输出。分隔符开头或结尾是空格时必须用nowiki包裹,输出分隔符也是如此,亦可以用\n表示换行。

格式
{{#redirect: 标题字串 | 分隔符(默认为空,即不分割) | 输出分隔符(默认为“|”) }}
例子
{{#redirect: 红魔乡,妖妖梦,地灵殿,神灵庙|,|、}}东方红魔乡、东方妖妖梦、东方地灵殿、东方神灵庙
{{#redirect: cm88,例9|,|、}}ComicMarket、博丽神社例大祭

param

检查是否在引用模板时输入了特定参数,并返回该属性名,或计算输入了多少个特定参数,返回总数。此函数并不会花时间去解析参数的内容,所以不论解析后的内容为何(尽管是空),只要在模板里输入了“|属性名=”,就会当作输入了该参数。注意#param必须在放在被引用的页面。

格式
{{#param: 参数名1 | 参数名2 | ... | 参数名n }}

多个参数时默认为或条件,只要输入了其中一个就会返回第一个命中的属性名,否则返回空。

格式
{{#param: & | 参数名1 | 参数名2 | ... | 参数名n }}

多个参数时,第一个参数输入&的话可以换为与条件,列表中的参数必须全部被输入才会返回最后一个命中的属性名,否则返回空。

格式
{{#param: $ | 参数名1 | 参数名2 | ... | 参数名n }}

多个参数时,第一个参数输入$的话可以换为计数,返回列表中被输入的参数总数。

onlyparam

此函数用于检测引用该模板时是否输入了意料之外的参数,比如是过时的或并不存在的参数,并自带#getparam的能力。不过只要把#param简单运用一下便能得到相同的效果,一般情况并不推荐使用#onlyparam。注意#onlyparam必须在放在被引用的页面。

getparam

获取特定目标能使用的所有参数名。此函数比较高耗最好不要经常使用。

格式
{{#getparam: 模板名 | 分隔符(默认为空) }}
例子
{{#getparam:模板:同人专辑信息|,}}制作方,制作方分隔符,展会,发行方,类型,编号,风格类型,特定选材,会场售价,通贩售价,售价补充,售价,售价说明,首发日期,名称,封面,封面角色,封面角色分隔符,译名,发行方分隔符,原声集,编号分隔符,年龄限制,会场售价补充,通贩售价补充,官网页面,官网页面分隔符,官网说明,官网补充,备注,碰撞规则

rawparam

获取特定参数未经解析、原始的文字内容。注意#rawparam必须在放在被引用的页面。

格式
{{#rawparam: 参数名 }}

exeparam

执行解析WIKI文本,除了用来配合#rawparam,并没有什么特别的用途。

格式
{{#exeparam: 文本 }}

color

生成有颜色的文字,只能用于单行文字。颜色可以是HTML颜色名、#RRGGBB、rgba(rrr,ggg,bbb,a)等CSS能识别的字串。

格式
{{color: 颜色 | 文字 }}
例子
{{color: red | 红色文字 }}红色文字
{{color: #FFFF00 | 黄色文字 }}黄色文字

nowrap

让浏览器不会在指定的文字内换行。

格式
{{nowrap: 文字 }}
例子
{{nowrap: 3.141592653589 7932384626 4338327950288 4197169399375 1058209749445 9230781640628 620899862803482 53421170679821480 8651328230664709384 46095505822317253594 0812848111745 02841027019385 }}3.141592653589 7932384626 4338327950288 4197169399375 1058209749445 9230781640628 620899862803482 53421170679821480 8651328230664709384 46095505822317253594 0812848111745 02841027019385
只会在这里换行, 或是切开两段{{nowrap: 而不会在这里换行,即便有 空格和,逗号 }}后面跟随的文字只会在 这里 换行,或是切开 两段而不 会在这里 换行,即便有 空格和,逗号后面跟 随的文字

link

把本页和另一页面连结,当另一页面的内容被修改或刷新,本页亦会跟着一起刷新,可以用来确保当某附属词条被更改后主词条的内容能及时更新。主要千万不会两个词条互相#link。

格式
{{#link: 词条名 }}
例子
{{#link:沙盒}} → 当沙盒被更改或刷新时,本页也会跟随刷新。

linkby

列出和特定页面连结、会跟随本页刷新的页面,并可以按分类筛选。

格式
{{#linkby: 词条名(默认为本页) | 分隔符(默认为回车) | 分类(默认为无) }}
例子
{{#linkby:沙盒}} → 帮助:转置扩展(接着上面#link的例子)
{{#linkby:}} → (接着上面#link的例子,因为沙盒并不会跟随本页刷新,所以沙盒不在列表里,亦应该避免来回跟随刷新的情况)

trimall

去掉字串里多余的分隔符。

格式
{{#trimall: 字串 | 分隔符(默认为空格) }}
例子
{{#trimall:,,1,3,,5,7,1,32,,|,}}1,3,5,7,1,32
{{#trimall:3,5,,7 ,, ,,1|,}}3,5,7 , ,1

collapsenum

使用“至分隔符”缩短数字列表,例如把“1,2,3,4,5”缩短成“1-5”,或者把“1,2,3,4-10”缩短成“1-10”。是expandnum的反向操作。

格式
{{#collapsenum: 字串 | 及分隔符(默认为“,”) | 至分隔符(默认为“-”) }}
例子
{{#collapsenum:1,2,3,7,65,67-78,45}}1-3,7,45,65,67-78
{{#collapsenum:1及2及3及7及65及67至78|及|至}}1至3及7及65及67至78

expandnum

分析各种分隔符展开数字列表,例如把“1-5”展开成“1,2,3,4,5”,或者把“1,2,3,4-10”缩短成“1,2,3,4,5,6,7,8,9,10”。是collapsenum的反向操作。

格式
{{#expandnum: 字串 | 及分隔符(默认为“,”) | 至分隔符(默认为“-”) }}
例子
{{#expandnum:1-3,7,65,67-78,45}}1,2,3,7,65,67,68,69,70,71,72,73,74,75,76,77,78,45
{{#expandnum:1 to 3 and 7 and 65 and 67 to 78|<nowiki> and </nowiki>|<nowiki> to </nowiki>}}1 and 2 and 3 and 7 and 65 and 67 and 68 and 69 and 70 and 71 and 72 and 73 and 74 and 75 and 76 and 77 and 78

hiragana

把日文字串转换成假名。汉字转假名的功能纯粹是小量智能加查字典,平均只能达到80%准确度。

格式
{{#hiragana: 字串 }}
例子
原文 假名
嫌われ者ばかりの旧地獄の中でも、群を抜いて嫌われている分類に入る妖怪、サトリである。人間や妖怪からも仲良くやっていける気がせず旧地獄に逃げ込んだが、結局、旧地獄の妖怪からも嫌われている。 きらわれものばかりのきゅうちごくのなかでも、むをぬいてきらわれているぶんるいにいるようかい、サトリである。にんげんやようかいからもなかよくやっていけるいきがせずきゅうちごくににげこんだが、けっきょく、きゅうちごくのようかいからもきらわれている。
その理由は、彼女の心を読むという能力にある。誰だって心を読まれる相手と会いたくは無いだろう。心を読める事は丸裸で話し合う、という事では無い。会話がまるで出来なくなるということを意味する。彼女は旧地獄にあるという地霊殿に引き籠もり、完全に他人のコミュニケーションを放棄している。 そのりゆうは、かのじょのこころをよむというのうりょくにある。だれだってこころをよまれるあいてとあいたくはないだろう。こころをよめることはまるはだかではなしあう、ということではない。かいわがまるでしゅったいなくなるということをいみする。かのじょはきゅうちごくにあるというちれいとのにひきこもり、かんぜんにたにんのコミュニケーションをほうきしている。
地霊殿には来客は無い。わざわざ彼女を訪れる者は無いという。
  しかし言葉を持たない動物には好かれている。心が読めるというのは、動物にとっては唯一無二の能力だからだ。その為、地霊殿には数多くの動物が棲んでいるという(*1)。
ちれいとのにはらいきゃくはない。わざわざかのじょをおとずれるものはないという。
  しかしことばをもたないどうぶつにはこのかれている。こころがよめるというのは、どうぶつにとってはゆいいつむにののうりょくだからだ。そのため、ちれいとのにはかずおおくのどうぶつがすんでいるという(*いち)。
彼女は言葉を持たない霊魂の心も読める。それが理由で怨霊からも避けられている。怨霊は動物と違い、自分の思っている事を会話で伝えたいと欲しているのだ。その理由は言うまでもなく「言葉を用いる生き物は全て裏表がある」からだ。 かのじょはことばをもたないれいこんのこころもよめる。それがりゆうでおんりょうからもよけられている。おんりょうはどうぶつとちがい、じぶんのおもっていることをかいわでつたえたいとほしているのだ。そのりゆうはいうまでもなく「ことばをもちいるいきものはすべてうらおもてがある」からだ。
怨霊に怖れられる事を有効利用し、彼女は灼熱地獄跡に残った怨霊を管理している。隠し事が出来ない彼女に逆らうものは居ないという寸法だろう。ちなみに地霊殿は灼熱地獄跡の真上に建っているそうだ。 おんりょうにおそれられることをゆうこうりようし、かのじょはしゃくねつじごくあとにのこったおんりょうをかんりしている。かくしごとがしゅったいないかのじょにさからうものはいないというすんぽうだろう。ちなみにちれいとのはしゃくねつじごくあとのまうえにたっているそうだ。
彼女には妹が居る。 かのじょにはいもうとがいる。
ペットのうちの一匹に火焔猫燐がいる。お燐と呼ばれているそうだ。
  お燐は怨霊と会話が出来るので、彼女の右腕として頼りにされているようだ。前述のように怨霊は会話によるコミュニケーションに餓えているので、さとりではなくお燐に懐く。怨霊の実質的な管理はお燐が行っているという話だ。
ペットのうちのいっぴきにかえんびょうりんがいる。おりんとよばれているそうだ。
  おりんはおんりょうとかいわができるので、かのじょのみぎうでとしてたよりにされているようだ。ぜんじゅつのようにおんりょうはかいわによるコミュニケーションにうえているので、さとりではなくおりんになつく。おんりょうのじっしつてきなかんりはおりんがいっているというはなだ。
管理と言っても、精々数の増減を見ている位で殆ど話し飼いである。 かんりといっても、せいぜいかずのぞうげんをみているくらいでほとんどはなしかいである。

romaji

把假名字串转换成罗马字。

格式
{{#romaji: 字串 }}
例子
{{#romaji:きらわれものばかりのふるじごくのなかでも}}kirawaremonobakarinofurujigokunonakademo
{{#romaji:あねのさとりとおなじようかい、サトリだ。}}anenosatoritoonajiyoukai、satorida。
{{#romaji:ローマじ}}roomaji
{{#romaji:ふじさん}}fujisan
{{#romaji:おちゃ}}ocha
{{#romaji:ちじ}}chiji
{{#romaji:ちぢむ}}chijimu
{{#romaji:つづく}}tsuzuku
{{#romaji:ディストーション}}disutooshon