summaryrefslogtreecommitdiff
path: root/fml/doc/ja/tutorial/module
diff options
context:
space:
mode:
Diffstat (limited to 'fml/doc/ja/tutorial/module')
-rw-r--r--fml/doc/ja/tutorial/module/IO.sgml44
-rw-r--r--fml/doc/ja/tutorial/module/Message.sgml9
-rw-r--r--fml/doc/ja/tutorial/module/create.sgml16
-rw-r--r--fml/doc/ja/tutorial/module/nativelanguage.sgml6
4 files changed, 46 insertions, 29 deletions
diff --git a/fml/doc/ja/tutorial/module/IO.sgml b/fml/doc/ja/tutorial/module/IO.sgml
index af65ba8b..47d8306f 100644
--- a/fml/doc/ja/tutorial/module/IO.sgml
+++ b/fml/doc/ja/tutorial/module/IO.sgml
@@ -1,5 +1,5 @@
<!--
- $FML: IO.sgml,v 1.4 2003/04/15 14:51:42 fukachan Exp $
+ $FML: IO.sgml,v 1.5 2005/06/25 15:11:35 fukachan Exp $
-->
<chapter id="module.io.adapter">
@@ -14,16 +14,16 @@
</title>
<para>
-&fmldevel; でのメンバーリストの読み書き、例えばアドレスの登録/削除は
+&fml8; でのメンバーリストの読み書き、例えばアドレスの登録/削除は
IO::Adapter という抽象クラスを通じて行ないます。ようは Unix で
vfs/vnode インターフェイスを導入した時のような感じですね。
使い方は次のようになります。
<screen>
use IO::Adapter;
-$obj = new IO::Adapter $map, $map_params;
-$obj->open || croak("cannot open $map");
-while ($x = $obj->get_next_key()) { ... }
-$obj->close;
+$io = new IO::Adapter $map, $map_params;
+$io->open || croak("cannot open $map");
+while ($x = $io->get_next_key()) { ... }
+$io->close;
</screen>
</para>
@@ -36,8 +36,8 @@ file:/var/spool/ml/elena/recipients
unix.group:root
nis.group:root
mysql:id
-postgresql:id (未実装、実装予定)
-ldap:id (未実装、実装予定)
+postgresql:id
+ldap:id
</screen>
</para>
@@ -45,10 +45,15 @@ ldap:id (未実装、実装予定)
file: は通常のファイルです。
unix.group:root は /etc/group の root のエントリにあるユーザのリストを、
nis.group:root は NIS の root のエントリにあるユーザのリストです。
-mysql:id は MySQL へのアクセスです。
-config.cf の mysql:id で指定されたパラメータを用います。
+mysql:id は MySQL、postgresql:id は PostgreSQL へのアクセスです。
+ldap:id は LDAP への通信を可能とします。
+</para>
+
+<para>
+RDBMS などは別の名前空間で定義することにしています。
+たとえば MySQL は config.cf の mysql:id で指定されたパラメータを用います。
このパラメータは new IO::Adapter を実行する際に、
-指定する必要があります。
+指定する必要があります(後述)。
</para>
</sect1>
@@ -107,7 +112,7 @@ REGEXP は正規表現ですが、たいていはメールアドレスです。
<sect1>
<title>
- &fmldevel; で必要なメソッドの型
+ &fml8; で必要なメソッドの型
</title>
<para>
@@ -191,7 +196,7 @@ wheel:*:0:root,rudo,kenken
</screen>
は IO::Adapter では unixgroup:wheel としてアクセスできます。
<screen>
-$obj = new IO::Adapter "unixgroup:wheel";
+$io = new IO::Adapter "unixgroup:wheel";
</screen>
というオブジェクトに対し get_next_key() すると
グループのメンバーが順に返されます。
@@ -202,7 +207,7 @@ rudo
kenken
</screen>
のようなファイルとみなされます。
-つまり 3 行のファイルを読みだすようにみなされているわけですね。
+つまり 3 行のファイルを読みだすようにみなされているわけです。
</para>
</sect1>
@@ -228,7 +233,7 @@ NIS/YP から group にあたるものを引っ張ってくるところだけが異なります。
<para>
保守性をあげるためには、一箇所に設定をまとめておきたい。つまり、一つの
-cf ファイルにいろいろ書けるようにしておきたい。たとえば &fmldevel; の
+cf ファイルにいろいろ書けるようにしておきたい。たとえば &fml8; の
場合、config.cf の中だけに SQL の設定を書いておきたいわけです。
</para>
@@ -254,6 +259,7 @@ sql_find = select * from ...
...
</screen>
+config.cf の中に別の名前空間を定義していると考えてもらってかまいません。
</para>
<para>
@@ -289,7 +295,13 @@ FML::Config のオブジェクトを引数で渡せば OK です。
関数が呼ばれた時に始めて決まる変数もあるので
cf で全部定義することはできません。
そこで、lexical scope で取り扱われる変数の表現があれば解決でしょうか?
-現在では &amp;varname 記法(下記)を使っています。
+現在は、この目的のために &amp;varname 記法(下記)を使っています。
+</para>
+
+<para>
+ただ、どこで呼ばれるか?を考えないと分からないので、利用可能なローカル
+スコープの変数一覧表を作るのは、かなり困難です。
+どうしたものかと…
</para>
<para>
diff --git a/fml/doc/ja/tutorial/module/Message.sgml b/fml/doc/ja/tutorial/module/Message.sgml
index 9eb9dad5..560f703e 100644
--- a/fml/doc/ja/tutorial/module/Message.sgml
+++ b/fml/doc/ja/tutorial/module/Message.sgml
@@ -1,5 +1,5 @@
<!--
- $FML: Message.sgml,v 1.2 2003/04/15 14:51:42 fukachan Exp $
+ $FML: Message.sgml,v 1.3 2005/06/25 15:11:36 fukachan Exp $
-->
<chapter id="module.mail.message">
@@ -148,7 +148,7 @@ whole_message_header()
<para>
__head_message() は鎖の先頭のオブジェクトを返します。
__last_message() は鎖の最後のオブジェクトを返します。
-プライベートなので、これらのメソッドはは使わないで下さい。
+プライベートなので、これらのメソッドは使わないで下さい。
__head_message() は、通常、図の header オブジェクトを返すことになりま
すので、多くの場合 whole_message_header() と等価です。
</para>
@@ -263,7 +263,7 @@ reset_print_mode()
<para>
size()
-はオブジェクトのサイズを返します。
+は(鎖の一つ一つの Mail::Message)オブジェクトのサイズを返します。
メール全体ではありません。
header_size()
@@ -325,8 +325,9 @@ num_paragraph()
<para>
nth_paragraph(数字)
-数字番目のパラグラフの内容を文字列として返します。
+「数字」番目のパラグラフの内容を文字列として返します。
例えば、一番目のパラグラフは 0 ではなく 1 と指定して下さい。
+ここは、わざとC言語風ではなく人間に分かりやすいようにしてあります。
</para>
diff --git a/fml/doc/ja/tutorial/module/create.sgml b/fml/doc/ja/tutorial/module/create.sgml
index b1e03cff..d3340ec3 100644
--- a/fml/doc/ja/tutorial/module/create.sgml
+++ b/fml/doc/ja/tutorial/module/create.sgml
@@ -1,5 +1,5 @@
<!--
- $FML: create.sgml,v 1.2 2003/04/15 14:51:42 fukachan Exp $
+ $FML: create.sgml,v 1.3 2005/06/25 15:11:36 fukachan Exp $
-->
<chapter id="module.create">
@@ -9,9 +9,9 @@
<para>
-ここでは、単純なスケジュール表示ソフトを例にとり、&fmldevel; のフレー
-ムワークの中で新しいプログラムを追加するにはどうすれば良いのかを説明し
-ます。 以下、プログラム名は fmlsch とし、その CGI 版が fmlsch.cgi です。
+ここでは、単純なスケジュール表示ソフトを例にとり、&fml8; のフレームワー
+クの中で新しいプログラムを追加するにはどうすれば良いのかを説明します。
+以下、プログラム名は fmlsch とし、その CGI 版が fmlsch.cgi です。
</para>
@@ -74,14 +74,18 @@ Date-Calc も必要なので適宜インストールしてください。
<para>
仕事のほとんどの部分は FML::Demo::Calendar が実行しますが、
-&fmldevel; のブートローダから FML::Demo::Calendar を呼び出すために
+&fml8; のブートローダから FML::Demo::Calendar を呼び出すために
FML::Process:: クラスを修正する必要があります。
</para>
<para>
まず、fmlsch プロセスの初期化から実行といった大まかな一連の手順を
fml/lib/FML/Process/Calender.pm
-に書きます。このファイルは新規に作成して下さい。
+に書きます。このファイルは新規に作成して下さい
+(<link linkend="bootloader">
+<xref linkend="bootloader">
+</link>
+章を参照)。
</para>
<para>
diff --git a/fml/doc/ja/tutorial/module/nativelanguage.sgml b/fml/doc/ja/tutorial/module/nativelanguage.sgml
index 585420d0..f8334d4b 100644
--- a/fml/doc/ja/tutorial/module/nativelanguage.sgml
+++ b/fml/doc/ja/tutorial/module/nativelanguage.sgml
@@ -1,8 +1,8 @@
<!--
- $FML: nativelanguage.sgml,v 1.2 2002/04/01 23:41:05 fukachan Exp $
+ $FML: nativelanguage.sgml,v 1.3 2003/04/15 14:51:43 fukachan Exp $
-->
-<chapter>
+<chapter id="nativelanguage">
<title>
言語別の処理関数
</title>
@@ -23,7 +23,7 @@ fml 内部では言語に依存した変換処理が必要です。
</para>
-<sect1>
+<sect1 id="nativelanguage.overview">
<title>
何か::Language::
</title>