Files
krkr2doc/docs/kag3doc/contents/Macro.html
2016-09-08 17:50:19 +09:00

155 lines
7.2 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<!-- generated by to_html.pl from Macro.xml -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>マクロを使おう</title>
<meta name="author" content="W.Dee" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link href="browser.css" type="text/css" rel="stylesheet" title="吉里吉里関連リファレンス用標準スタイル" />
<link href="mailto:[email protected]" rev="Made" />
<link href="index.html" target="_top" rel="Start" title="トップページ" />
</head>
<body>
<h1><a id="id114" name="id114">マクロとは</a>
</h1><div class="para"><div>
 マクロとは、「複数のタグや文章を一つのタグで表せるようにする」ための物です。<br />
<br />
 既存のタグや文章を組み合わせて、自由に新しいタグを定義する方法です。<br />
 KAG では、いくつも、何回も同じようなタグを指定しなければいけない場面が多いかと思いますが、マクロの機能を使えば、そのような作業を大幅に減らすことが出来ます。<br />
 おきまりのタグの連続は、マクロ化して楽しましょう<code class="inlinecode">(^^)</code><br />
</div></div>
<h1><a id="id115" name="id115">基本的な使い方</a>
</h1><div class="para"><div>
 マクロを使うには、まずマクロを「定義」しなければなりません。マクロは一度だけ定義すれば、あとはそのマクロを何回でも使うことができます。ですので、マクロを定義する場合はfirst.ksの最初などに書いておくとよいでしょう。<br />
<br />
 マクロを定義する場合は、<a id="id116" name="id116" class="targanchor"><dfn>macro</dfn></a> タグと <a id="id117" name="id117" class="targanchor"><dfn>endmacro</dfn></a> タグで、マクロにしたい部分を囲みます。macro タグの属性 name には、マクロ名を指定します。<br />
<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
;&nbsp;--&nbsp;マクロの定義&nbsp;--<br />
<em>[macro&nbsp;name=newtag]</em>[font&nbsp;color=0xff0000]こんな風にマクロを作ります[resetfont]<em>[endmacro]</em><br />
</code>
<br />
<br />
これを使いたい場合は、タグを書くのとまったく同じ要領でマクロ名を使います。<br />
<br />
<code class="bq">;&nbsp;--&nbsp;マクロを使う&nbsp;--<br />
[newtag]<br />
</code>
<br />
<br />
 これを実行すると、<code class="inlinecode">[newtag]</code> のところで、この <code class="inlinecode">[newtag]</code> というタグが、 <code class="inlinecode">[font color=0xff0000]こんな風にマクロを作ります[resetfont]</code> に置き換わるため、赤い文字で「こんな風にマクロを作ります」と表示されるはずです。<br />
<br />
 複数行に書くこともできます。<br />
<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
;&nbsp;--&nbsp;マクロの定義&nbsp;--<br />
[macro&nbsp;name=newtag]<br />
[font&nbsp;color=0xff0000]<br />
こんな風にマクロを作ります<br />
[resetfont]<br />
[endmacro]<br />
</code>
<br />
<br />
<code class="bq">;&nbsp;--&nbsp;マクロを使う&nbsp;--<br />
[newtag]<br />
</code>
<br />
</div></div>
<h1><a id="id118" name="id118">マクロの属性</a>
</h1><div class="para"><div>
 マクロに属性を与え、その属性をマクロ中で置き換えることが出来ます。<br />
 マクロ中で、属性の値に <a id="id119" name="id119" class="targanchor"><dfn>%</dfn></a> で始まるものを指定すると、それがマクロに与えられた属性に置き換わります。<br />
 以下の例を見てください。<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
;&nbsp;--&nbsp;マクロの定義&nbsp;--<br />
[macro&nbsp;name=newtag]<br />
[font&nbsp;color=<em>%iro</em>]<br />
こんな風にマクロを作ります<br />
[resetfont]<br />
[endmacro]<br />
</code>
<br />
<br />
<code class="bq">;&nbsp;--&nbsp;マクロを使う&nbsp;--<br />
[newtag&nbsp;<em>iro=0x00ff00</em>]<br />
</code>
<br />
<br />
 この例では、iro という属性を与え、それをエンティティにより font タグの color 属性と置き換えています。<br />
 実行すると、緑色の文字で「こんな風にマクロを作ります」と表示されるはずです。<br />
<br />
<br />
 また、マクロ中のタグの属性に <a id="id120" name="id120" class="targanchor"><dfn>*</dfn></a> を指定すると、マクロに渡された属性をすべて渡すことができます。たとえば、trans タグのあとに wt タグをつけたマクロを作りたい場合、<br />
<br />
<br />
<code class="bq">[macro&nbsp;name=transwait][trans&nbsp;<em>*</em>][wt][endmacro]<br />
</code>
<br />
<br />
 と書くことができます。このようにすると、たとえば transwait マクロを使うときに、transwait マクロに対して指定した属性がそっくりそのまま trans タグに渡されるので、既存のタグに毛の生えた程度のマクロを作るときに便利です。<br />
<br />
 マクロ中にあったマクロは再び展開されますので、マクロの中に自分のマクロを書かないようにご注意ください(^^)<br />
<br />
 値が省略されたときに、デフォルトの値を指定したい場合は、% 付きの属性に、 <a id="id121" name="id121" class="targanchor"><dfn>|</dfn></a> ( 縦棒 ) を書き、そのあとに省略された場合の値を指定します。下の例を見てください。<br />
<br />
<br />
<code class="bq">[wait&nbsp;time=200]<br />
*start|スタート<br />
[cm]<br />
;&nbsp;--&nbsp;マクロの定義&nbsp;--<br />
[macro&nbsp;name=newtag]<br />
[font&nbsp;color=%color<em>|0xff0000</em>]<br />
こんな風にマクロを作ります<br />
[resetfont]<br />
[endmacro]<br />
</code>
<br />
<br />
<code class="bq">;&nbsp;--&nbsp;マクロを使う&nbsp;--<br />
[newtag&nbsp;color=0x00ff00]<br />
[newtag]<br />
</code>
<br />
 最初の [newtag] を使っているところでは color 属性を指定しているので、その属性の値である 0x00ff00 と置き換わり、緑色で文字が表示されています。<br />
 二番目の [newtag] を使っているところでは、属性がなにも指定されていないので、デフォルトである &quot;0xff0000&quot; が採用され、文字は赤で表示されます。<br />
<br />
<br /><div class="note"><div class="notehead"><span class="noteheadspan">Note</span></div>
 属性名の指定には英半角小文字を用いてください。大文字を指定すると正常に動作しません。</div><br />
</div></div>
<script type="text/javascript" charset="UTF-8" src="documentid.js" ></script>
<script type="text/javascript" charset="UTF-8" src="postcontent.js" ></script>
</body>
</html>