あおきです。とりあえずlistに送ります。
In Mail "[ruby-list:16173] Re: maillib? 0.5.0"
matz / netlab.co.jp (Yukihiro Matsumoto) wrote:
> まつもと ゆきひろです
> maillibはディレクトリで分類されるなど今後の他のRubyで記述さ
> れるライブラリの規範となりそうな予感がありますから、これを素
> 材にいろいろ考えたいです。あおきさんには迷惑な話かもしれませ
> んが。
いえいえ、Rubyのためならなんとやら、です ^^;;
> 個人的には英語のドキュメントをrd形式で埋め込むのかなと思って
> ますが、日本語(なり英語以外の言語)のドキュメントはどう持つの
> が良いでしょうねえ。
MIMEっぽくBase64エンコードして埋めこむのはどうでしょうか。
ドキュメントを書く側では日本語や他の言語を使ってそのまま書いて
おいて、配布する前に変換ツールを使って正式な rd フォーマットに
変換する。読む側では、それを適当にデコード/変換して読めばいいと
思います。
たとえば、ドキュメントを書く人はこんなものを作ります。
------------------------------------------------------------------
#!/usr/local/bin/ruby
=begin
= hello.rb
== About hello.rb
This program print message and exit.
== Install
copy hello.rb to your ruby libdir.
=begin
= hello.rb
== hello.rbについて
このプログラムは挨拶をして終了します。
== インストール
hello.rbをRubyのライブラリディレクトリにコピーしてください。
=end
puts 'Hello, World!'
------------------------------------------------------------------
=beginが連続しているのは、「これは並列である」と示すためです。
=begin
内容1
=begin
内容2
=end
は、内容1と2に同じ内容のものを別のエンコーディングで格納
していることを示します。ただしこの方法はあくまで例で、
別の方法でもかまいません。
配布する前に、これをrdエンコーダに通します。このエンコーダは、
入力は英語か日本語だと決め打ちして、文字コードを自動判別して情報を
付加し、必要ならbase64もかけます。出力例はこうなります。
------------------------------------------------------------------
#!/usr/local/bin/ruby
=begin rd-header
Rd-Encoding-Alias: en=iso-8859, plain; ja=iso-2022-jp, base64;
=end
=begin rd encoding=en
= hello.rb
== About hello.rb
This program print message and exit.
== Install
copy hello.rb to your ruby libdir.
=begin rd encoding=ja
PSBoZWxsby5yYgo9PSBoZWxsby5yYhskQiRLJEQkJCRGGyhCChskQiQzJE4l
VyVtJTAlaSVgJE8wJzsiJHIkNyRGPSpOOyQ3JF4kOSEjGyhCCgo9PSAbJEIl
JCVzJTklSCE8JWsbKEIKaGVsbG8ucmIbJEIkchsoQlJ1YnkbJEIkTiVpJSQl
ViVpJWolRyUjJWwlLyVIJWokSyUzJVQhPCQ3JEYkLyRAJDUkJCEjGyhCCgo=
=end
puts 'Hello, World!'
------------------------------------------------------------------
これなら書く側にとっても違和感が少ないと思うのですがどうでしょう?
-------------------------------------------------------------------
あおきみねろう