「
ヘルプ:チュートリアル/高度なコード
」を編集中 (節単位)
ナビゲーションに移動
検索に移動
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
{{タブ|1=[[ヘルプ:チュートリアル|導入]]|2=[[ヘルプ:チュートリアル/ホーム|ホーム]]|3=[[ヘルプ:チュートリアル/編集・作成|編集・作成]]|4=[[ヘルプ:チュートリアル/ソース早見表|ソース早見表]]|5=[[ヘルプ:チュートリアル/高度なコード|高度なコード]]|6=[[ヘルプ:チュートリアル/管理者の力|管理者の力]]|7=[[ヘルプ:チュートリアル/プロジェクト|プロジェクト]]|8=[[ヘルプ:チュートリアル/導出|導出]]|thispage=5|nextpage=6|内容= このページでは、[[ヘルプ:チュートリアル/ソース早見表|ソース早見表]]で紹介したものとは別の、さらに高度なコードについて紹介します。 ==TemplateStyles== '''TemplateStyles'''は、テンプレートページにCSSを読み込むことができる拡張機能です。手順は以下の通りです。 #テンプレートページに、.css で終わるサブページを作る。(例: [[テンプレート:テスト/style.css]]) #そのサブページにCSSを書きまくる。 #テンプレートページに<code><nowiki><templatestyles src="</nowiki>''テンプレート名/サブページ名''" /></code>と入力してCSSページを呼び出す。(例: <code><nowiki><templatestyles src="テスト/style.css" /></nowiki></code>) #テンプレートにCSSが反映され、常習者は歓喜する。 ==パーサ関数== '''パーサ関数'''は、条件分岐を扱うことのできる特殊な文字列です。一般に、形式は <code><nowiki>{{#関数名: 引数1 | 引数2 | 引数3...}}</nowiki></code> となっています。「関数名」のところには<code>[[#expr|expr]]</code>, <code>[[#if|if]]</code>, <code>[[#ifeq|ifeq]]</code>, <code>ifexist</code>, <code>[[#ifexpr|ifexpr]]</code>, <code>[[#switch|switch]]</code>, <code>time</code>, <code>timel</code>, <code>rel2abs</code>, <code>titleparts</code>, <code>iferror</code> のいずれかが入り、「引数n」のところには任意の数値や文字列が入ります。関数がこれらの数値や文字列を処理することで、<code><nowiki>{{</nowiki></code>-<code><nowiki>}}</nowiki></code>の部分が何らかの値に変わります。 さて、ここでは、よく用いられる関数 <code>[[#expr|expr]]</code>, <code>[[#if|if]]</code>, <code>[[#ifeq|ifeq]]</code>, <code>[[#ifexpr|ifexpr]]</code>, <code>[[#switch|switch]]</code> の機能を一つひとつ見ていきましょう。 ===expr=== expr関数は、引数を数式として評価し、その計算結果を返します。さまざまな演算子が使用できます。 *<code><nowiki>{{#expr: 3 * ( 2 + 7 ) }}</nowiki></code>:{{#expr: 3 * ( 2 + 7 ) }} *<code><nowiki>{{#expr: 17 mod 4}}</nowiki></code>:{{#expr: 17 mod 4}} *<code><nowiki>{{#expr: 923487 > 43598}}</nowiki></code>:{{#expr: 923487 > 43598 }} ===if=== if関数は、引数1が数値0でもスペースでも長さ0の文字列でもない場合に引数2を、左のいずれかである場合に引数3を返します。 *<code><nowiki>{{#if: ああああ | 空文字列でない | 空文字列である }}</nowiki></code>:{{#if: ああああ | 空文字列でない | 空文字列である }} *<code><nowiki>{{#if: 9 > 11 | 真です | 偽です }}</nowiki></code>:{{#if: 9 > 11 | 真です | 偽です }}(文字列「9 > 11」は空文字列ではないため) ===ifexpr=== ifexpr関数はif関数とexpr関数を組み合わせたようなもので、引数1を数式として評価し、その計算結果が数値0でもスペースでも長さ0の文字列でもない場合に引数2を、左のいずれかである場合に引数3を返します。 *<code><nowiki>{{#ifexpr: 923487 > 43598 | 真 | 偽 }}</nowiki></code>:{{#ifexpr: 923487 > 43598 | 真 | 偽 }} *<code><nowiki>{{#ifexpr: 9 > 11 | 真です | 偽です }}</nowiki></code>:{{#ifexpr: 9 > 11 | 真です | 偽です }} ===ifeq=== ifeq関数は、引数1と引数2を比較し、同値である場合に引数3を、そうでない場合に引数4を返します。 *<code><nowiki>{{#ifeq: 3.1416 | 3.1416 | 等しい | 等しくない }}</nowiki></code>:{{#ifeq: 3.1416 | 3.1416 | 等しい | 等しくない }} *<code><nowiki>{{#ifeq: 已己巳己 | 己巳已巳 | 等しい | 等しくない }}</nowiki></code>:{{#ifeq: 已己巳己 | 己巳已巳 | 等しい | 等しくない }} *<code><nowiki>{{#ifeq: {{#expr: ( 6 ^ 6 + 6 ) / ( 6 + 6 / 6 ) }} | 6666 | 等しい | 等しくない }}</nowiki></code>:{{#ifeq: {{#expr: ( 6 ^ 6 + 6 ) / ( 6 + 6 / 6 ) }} | 6666 | 等しい | 等しくない }} ===switch=== switch関数は以下のように書かれ、引数1と同じ<値>が見つかった場合にその<値>に付いている等号の右側にある<返り値>を返し、見つからなかった場合に関数の最後の区切りに書かれた文字列(<見つからなかったときの返り値>)を返します。 <pre> {{#switch: 引数1 | 値1 = 返り値1 | 値2 = 返り値2 ... | 値n = 返り値n |<見つからなかったときの返り値> }} </pre> *<code><nowiki>{{#switch: 月 | 鶴 = 20点 | 鶯 = 20点 | 幕 = 20点 | 不如帰 = 10点 | 八橋 = 10点 | 蝶 = 10点 | 猪 = 10点 | 月 = 20点 | 盃 = 20点 | 鹿 = 20点 | 小野道風 = 20点 | 鳳凰 = 20点 | 該当する札がありません。}}</nowiki></code>:{{#switch: 月 | 鶴 = 20点 | 鶯 = 20点 | 幕 = 20点 | 不如帰 = 10点 | 八橋 = 10点 | 蝶 = 10点 | 猪 = 10点 | 月 = 20点 | 盃 = 20点 | 鹿 = 20点 | 小野道風 = 20点 | 鳳凰 = 20点 | 該当する札がありません。}} ==モジュール== '''モジュール'''は、Luaというプログラミング言語を用いてさまざまな処理を行う拡張機能です。関数に引数を渡して処理をさせ、返り値を要求します。モジュールページはすべて[https://ja.wikiwiki.li/wiki/%E7%89%B9%E5%88%A5:%E3%83%9A%E3%83%BC%E3%82%B8%E4%B8%80%E8%A6%A7?from=&to=&namespace=828 モジュール名前空間]に置かれます。一つのモジュールページにはそれぞれ<code>function 関数名(引数)</code>-<code>end</code>で定義されるいくつかの関数があります。 関数を呼び出して引数を渡すには、<code><nowiki>{{#invoke: モジュール名 | 関数名 | 引数1 | 引数2...}}</nowiki></code>と入力します。すると、関数が引数を使って処理を実行し、単一の値を文字列として返してくれます。 *<code><nowiki>{{#invoke:いつの間に|itsunomani|あびゃびゃ}}</nowiki></code>:{{#invoke:いつの間に|itsunomani|あびゃびゃ}} ==Botによる編集== '''Botによる編集'''の方法については、実のところ、常習者の誰も理解していません。ページ情報の取得や記事の編集・作成などが自動でできるようですが、本当にそんなことができるのでしょうか。APIとやらを使うようですが、APIとは何者なのでしょうか。 }}
編集内容の要約:
WikiWikiへの投稿はすべて、クリエイティブ・コモンズ・ゼロ(パブリックドメイン) (詳細は
WikiWiki:著作権
を参照)のもとで公開したと見なされることにご注意ください。 自分が書いたものが他の人に容赦なく編集され、自由に配布されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください。
著作権保護されている作品は、許諾なしに投稿しないでください!
編集を中止
編集の仕方
(新しいウィンドウで開きます)
案内メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ヘルプページ
議論
日本語
表示
閲覧
ソースを編集
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWikiについてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報