コンテンツにスキップ

テンプレート:Foreach

提供:Wikisource

このテンプレートForeachは与えられた値を順番にループ処理する機能を提供します。最大3階層のループ処理ができます。

使い方

[編集]

引数

[編集]
引数名 既定値 説明
key 第1階層ループの変数名(必須)
values 第1階層ループに渡す値をFIRST;LAST;STEPで構成される数列または文字列をカンマ区切りで一つ以上指定します。FIRSTは必須でLASTとSTEPは省略可能です。STEPのみが省略された場合はSTEPはFIRSTとLASTの大小に応じて1または-1となります。(必須)
header 第1階層ループ開始時のヘッダー処理
footer 第1階層ループ終了時のフッター処理
content 処理するWikitext文字列です。引数key, key2, key3の変数名を実際の値に置き換えます。{、|、}、[、]などがWikitextとして事前処理されないようにするには「w:数値文字参照」を用いるか、該当文字の全角文字で入力してください。(必須)
preprocess 1 ウィキサーバーのテキスト展開処理を行う場合は1、行わない場合は0を指定します。
trim 1 変数key,key2,key3に渡される値を事前に空白トリミングする場合は1、しない場合は0を指定します。
key2 第2階層ループの変数名
values2 第2階層ループに渡す値を数列または文字列をカンマ区切りで一つ以上指定します。書式はvaluesと同じです。
header2 第2階層ループ開始時のヘッダー処理
footer2 第2階層ループ終了時のフッター処理
key3 第3階層ループの変数名
values3 第3階層ループに渡す値を数列または文字列をカンマ区切りで一つ以上指定します。書式はvaluesと同じです。
header3 第3階層ループ開始時のヘッダー処理
footer3 第3階層ループ終了時のフッター処理
comma , カンマを変数の値に使いたい時に別の文字を区切りに指定します
semicolon ; セミコロンを変数の値に使いたい時に別の文字を区切りに指定します
hexdump hexdump=1の時にhexdump形式で出力します。
 

使用例1

[編集]

カテゴリ:コメントアイコンテンプレート」のテンプレートを順次表示します。

{{Foreach|key=🍎|values=AFD,CI,コ,コメント,作業中,保留,反対,反対r,取り下げ,報告,強く反対r,強く賛成r,情報,提案,条件付反対,条件付賛成,棄権,理由,終了,自動失効,賛成,賛成r|content=*{{🍎}}"'''{{Color|green|🍎}}'''"の実行結果{{nop}}}}
  • "AFD"の実行結果
  • "CI"の実行結果
  • コメント ""の実行結果
  • コメント"コメント"の実行結果
  • 作業中"作業中"の実行結果
  • 保留"保留"の実行結果
  • 反対 "反対"の実行結果
  • 反対 "反対r"の実行結果
  • 取り下げ"取り下げ"の実行結果
  • 報告"報告"の実行結果
  • 強く反対"強く反対r"の実行結果
  • 強く賛成 "強く賛成r"の実行結果
  • 情報"情報"の実行結果
  • 提案 "提案"の実行結果
  • 条件付反対"条件付反対"の実行結果
  • 条件付賛成"条件付賛成"の実行結果
  • 棄権"棄権"の実行結果
  • 理由"理由"の実行結果
  • 終了"終了"の実行結果
  • 自動失効"自動失効"の実行結果
  • 賛成 "賛成"の実行結果
  • 賛成 "賛成r"の実行結果
 

使用例2

[編集]

2と0.5と1から15まで3ずつ増えていく値のサイズで順番に文字を表示します。

{{Foreach|key=🍈|values=2,0.5,1;15;3|content=サイズは🍈em{{resize|🍈em;|🚴🍈🏇}}<br/>}}

サイズは2em🚴2🏇
サイズは0.5em🚴0.5🏇
サイズは1em🚴1🏇
サイズは4em🚴4🏇
サイズは7em🚴7🏇
サイズは10em🚴10🏇
サイズは13em🚴13🏇

 

使用例3

[編集]

上述の使用例2と同じ内容をhexdump出力します

{{Foreach|key=🍈|values=2,0.5,1;15;3|content=サイズは🍈em{{resize|🍈em;|🚴🍈🏇}}<br/>|hexdump=1}}
00000000🧐   30B5   30A4   30BA   306F   0032   0065   006D   003C   0073   0070   0061   006E   0020   0073   0074   0079 🧐サイズは2em<span sty🧐
00000010🧐   006C   0065   003D   0022   0066   006F   006E   0074   002D   0073   0069   007A   0065   003A   0032   0065 🧐le="font-size:2e🧐
00000020🧐   006D   003B   003B   0022   003E  1F6B4   0032  1F3C7   003C   002F   0073   0070   0061   006E   003E   003C 🧐m;;">🚴2🏇</span><🧐
00000030🧐   0062   0072   002F   003E   30B5   30A4   30BA   306F   0030   002E   0035   0065   006D   003C   0073   0070 🧐br/>サイズは0.5em<sp🧐
00000040🧐   0061   006E   0020   0073   0074   0079   006C   0065   003D   0022   0066   006F   006E   0074   002D   0073 🧐an style="font-s🧐
00000050🧐   0069   007A   0065   003A   0030   002E   0035   0065   006D   003B   003B   0022   003E  1F6B4   0030   002E 🧐ize:0.5em;;">🚴0.🧐
00000060🧐   0035  1F3C7   003C   002F   0073   0070   0061   006E   003E   003C   0062   0072   002F   003E   30B5   30A4 🧐5🏇</span><br/>サイ🧐
00000070🧐   30BA   306F   0031   0065   006D   003C   0073   0070   0061   006E   0020   0073   0074   0079   006C   0065 🧐ズは1em<span style🧐
00000080🧐   003D   0022   0066   006F   006E   0074   002D   0073   0069   007A   0065   003A   0031   0065   006D   003B 🧐="font-size:1em;🧐
00000090🧐   003B   0022   003E  1F6B4   0031  1F3C7   003C   002F   0073   0070   0061   006E   003E   003C   0062   0072 🧐;">🚴1🏇</span><br🧐
000000A0🧐   002F   003E   30B5   30A4   30BA   306F   0034   0065   006D   003C   0073   0070   0061   006E   0020   0073 🧐/>サイズは4em<span s🧐
000000B0🧐   0074   0079   006C   0065   003D   0022   0066   006F   006E   0074   002D   0073   0069   007A   0065   003A 🧐tyle="font-size:🧐
000000C0🧐   0034   0065   006D   003B   003B   0022   003E  1F6B4   0034  1F3C7   003C   002F   0073   0070   0061   006E 🧐4em;;">🚴4🏇</span🧐
000000D0🧐   003E   003C   0062   0072   002F   003E   30B5   30A4   30BA   306F   0037   0065   006D   003C   0073   0070 🧐><br/>サイズは7em<sp🧐
000000E0🧐   0061   006E   0020   0073   0074   0079   006C   0065   003D   0022   0066   006F   006E   0074   002D   0073 🧐an style="font-s🧐
000000F0🧐   0069   007A   0065   003A   0037   0065   006D   003B   003B   0022   003E  1F6B4   0037  1F3C7   003C   002F 🧐ize:7em;;">🚴7🏇</🧐
00000100🧐   0073   0070   0061   006E   003E   003C   0062   0072   002F   003E   30B5   30A4   30BA   306F   0031   0030 🧐span><br/>サイズは10🧐
00000110🧐   0065   006D   003C   0073   0070   0061   006E   0020   0073   0074   0079   006C   0065   003D   0022   0066 🧐em<span style="f🧐
00000120🧐   006F   006E   0074   002D   0073   0069   007A   0065   003A   0031   0030   0065   006D   003B   003B   0022 🧐ont-size:10em;;"🧐
00000130🧐   003E  1F6B4   0031   0030  1F3C7   003C   002F   0073   0070   0061   006E   003E   003C   0062   0072   002F 🧐>🚴10🏇</span><br/🧐
00000140🧐   003E   30B5   30A4   30BA   306F   0031   0033   0065   006D   003C   0073   0070   0061   006E   0020   0073 🧐>サイズは13em<span s🧐
00000150🧐   0074   0079   006C   0065   003D   0022   0066   006F   006E   0074   002D   0073   0069   007A   0065   003A 🧐tyle="font-size:🧐
00000160🧐   0031   0033   0065   006D   003B   003B   0022   003E  1F6B4   0031   0033  1F3C7   003C   002F   0073   0070 🧐13em;;">🚴13🏇</sp🧐
00000170🧐   0061   006E   003E   003C   0062   0072   002F   003E                                                         🧐an><br/>🧐
 

使用例4

[編集]

3階層のループ処理を行います。

{{Foreach|semicolon=🍇|key=🍎|values=甲,乙,丙|key2=🍋|values2=あ,い,{{resize|200%|う}},え,お|header2={{nop}}第2階層ヘッダー(🍎:🍋:🍈){{left/s|2em}}|footer2={{left/e}}{{nop}}第2階層フッター(🍎:🍋:🍈){{nop}}|key3=🍈|values3=10🍇6|header3={{nop}}第3階層ヘッダー(🍎:🍋:🍈){{left/s|2em}}{{nop}}|footer3={{left/e}}{{nop}}第3階層フッター(🍎:🍋:🍈){{nop}}|content=🍉,🍎,🍋,🍈/}}

第2階層ヘッダー(甲:🍋:🍈)

第3階層ヘッダー(甲:あ:🍈)
🍉,甲,あ,10/🍉,甲,あ,9/🍉,甲,あ,8/🍉,甲,あ,7/🍉,甲,あ,6/
第3階層フッター(甲:あ:🍈)
第3階層ヘッダー(甲:い:🍈)
🍉,甲,い,10/🍉,甲,い,9/🍉,甲,い,8/🍉,甲,い,7/🍉,甲,い,6/
第3階層フッター(甲:い:🍈)
第3階層ヘッダー(甲::🍈)
🍉,甲,,10/🍉,甲,,9/🍉,甲,,8/🍉,甲,,7/🍉,甲,,6/
第3階層フッター(甲::🍈)
第3階層ヘッダー(甲:え:🍈)
🍉,甲,え,10/🍉,甲,え,9/🍉,甲,え,8/🍉,甲,え,7/🍉,甲,え,6/
第3階層フッター(甲:え:🍈)
第3階層ヘッダー(甲:お:🍈)
🍉,甲,お,10/🍉,甲,お,9/🍉,甲,お,8/🍉,甲,お,7/🍉,甲,お,6/
第3階層フッター(甲:お:🍈)

第2階層フッター(甲:🍋:🍈)

第2階層ヘッダー(乙:🍋:🍈)

第3階層ヘッダー(乙:あ:🍈)
🍉,乙,あ,10/🍉,乙,あ,9/🍉,乙,あ,8/🍉,乙,あ,7/🍉,乙,あ,6/
第3階層フッター(乙:あ:🍈)
第3階層ヘッダー(乙:い:🍈)
🍉,乙,い,10/🍉,乙,い,9/🍉,乙,い,8/🍉,乙,い,7/🍉,乙,い,6/
第3階層フッター(乙:い:🍈)
第3階層ヘッダー(乙::🍈)
🍉,乙,,10/🍉,乙,,9/🍉,乙,,8/🍉,乙,,7/🍉,乙,,6/
第3階層フッター(乙::🍈)
第3階層ヘッダー(乙:え:🍈)
🍉,乙,え,10/🍉,乙,え,9/🍉,乙,え,8/🍉,乙,え,7/🍉,乙,え,6/
第3階層フッター(乙:え:🍈)
第3階層ヘッダー(乙:お:🍈)
🍉,乙,お,10/🍉,乙,お,9/🍉,乙,お,8/🍉,乙,お,7/🍉,乙,お,6/
第3階層フッター(乙:お:🍈)

第2階層フッター(乙:🍋:🍈)

第2階層ヘッダー(丙:🍋:🍈)

第3階層ヘッダー(丙:あ:🍈)
🍉,丙,あ,10/🍉,丙,あ,9/🍉,丙,あ,8/🍉,丙,あ,7/🍉,丙,あ,6/
第3階層フッター(丙:あ:🍈)
第3階層ヘッダー(丙:い:🍈)
🍉,丙,い,10/🍉,丙,い,9/🍉,丙,い,8/🍉,丙,い,7/🍉,丙,い,6/
第3階層フッター(丙:い:🍈)
第3階層ヘッダー(丙::🍈)
🍉,丙,,10/🍉,丙,,9/🍉,丙,,8/🍉,丙,,7/🍉,丙,,6/
第3階層フッター(丙::🍈)
第3階層ヘッダー(丙:え:🍈)
🍉,丙,え,10/🍉,丙,え,9/🍉,丙,え,8/🍉,丙,え,7/🍉,丙,え,6/
第3階層フッター(丙:え:🍈)
第3階層ヘッダー(丙:お:🍈)
🍉,丙,お,10/🍉,丙,お,9/🍉,丙,お,8/🍉,丙,お,7/🍉,丙,お,6/
第3階層フッター(丙:お:🍈)

第2階層フッター(丙:🍋:🍈)