• 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
  • 有任何意见、建议、求助、反馈都可以在 讨论板 提出
  • 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: Comic Market#88,Comic Market#89,Comic Market#90,Comic Market#91 | 展会作品列表链接 |,|,}}Comic Market 88Comic Market 89Comic Market 90Comic Market 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|,|、}}Comic Market、博丽神社例大祭

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: 而不会在这里换行,即便有 空格和,逗号 }}后面跟随的文字只会在 这里 换行,或是切开 两段而不 会在这里 换行,即便有 空格和,逗号后面跟 随的文字

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