[#21718] print, puts, printf — Masaki Suketa<CQN02273@...>
助田です.
[#21732] GtkRadioMenuItem activate — mof <mof@...>
はじめまして、「もふ」といいます。よろしくお願いします。
[#21736] OBJECTDAY 2000 — 助田 雅紀 <masaki.suketa@...>
助田です.
けいじゅ@日本ラショナルソフトウェアです.
石橋秀仁です。
けいじゅ@日本ラショナルソフトウェアです.
石橋秀仁です。
[#21738] ruby の W3C ドラフト — KUBO Takehiro <tkubo@...>
久保@茅ヶ崎市です。
[#21781] how to get error reason in ftplib ? — "Kikutani, Makoto" <kikutani@...>
前にも似たことを聞いた気がしますが....
[#21789] about ftplib(ftpup) — goto@...
お世話になります。後藤@横河工事です。
[#21798] script language magazine? — Akihiro Yamauchi <aygoofy@...>
こんばんは。
[#21818] RubyToken::TkSTRING::value — Yasushi Shoji <yashi@...>
やすしです。
[#21834] How can i use mod_ruby — goto@...
お世話になります。後藤@横河工事です。
[#21837] site_ruby & Linux distribution — OZAWA Sakuro <crouton@...>
小澤さくです。
[#21843] [Q]Security Check($SAFE): FileTest within mod_ruby — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋秀仁です。
まつもと ゆきひろです
[#21870] rubyunit — rubikitch <rubikitch@...>
るびきちです。
[#21892] ユーザーの新規登録方法について — goto@...
いつもお世話になります、後藤@横河工事です。
[#21905] rd-draft.ja.rd — akira yamada / やまだあきら <akira@...>
[#21922] ruby-1.4.4 binary for BeOS 5 (Intel) — tenmei@... (Noriaki Harada)
はらだです。
はじめまして、内藤と申します。
>はじめまして、内藤と申します。
内藤です。
小松です。
再び内藤です。
小松です。
はらだです。
市川 as Tanukiです。
[#21931] ruby-mode — Yasushi Abe <yasushi@...>
こんにちわ、阿部です。
[#21934] close on disk full — "Kikutani, Makoto" <kikutani@...>
curでディスクがフルな状態でPOPするとメイルを失なうという
In message "[ruby-list:21934] close on disk full"
[#21944] [Q] RD with CSS — gotoken@... (GOTO Kentaro)
ごとけんです
[#21956] Thread & STDIN — Masato Toyoshima <mt@...>
はじめまして、豊島といいます。
まつもと ゆきひろです
[#21974] Re: Polynomial.rb and floating point exception — "K.Kodama" <kdm@...>
児玉 です.
[#21981] rd2man — WATANABE Hirofumi <eban@...>
わたなべです.
Toshです。
わたなべです.
青山です。
Toshです。
青山です。
[#21990] rb.org — OZAWA Sakuro <crouton@...>
さくです。
[#21999] media watch 2000.03.18 — Noritsugu Nakamura <nnakamur@...>
[#22014] shell interactive — WATANABE Daisaku <dwata@...3.rim.or.jp>
児玉 です.
こんにちは、時田です。
なかだです。
わたなべです.
こんにちは、時田です。
わたなべです.
まつもと ゆきひろです
Sat, Apr 22, 2000 at 12:37:33AM +0900 において
まつもと ゆきひろです
こんにちは、時田です。
まつもと ゆきひろです
こんにちは、時田です。
[#22022] w3ml — とみたまさひろ <tommy@...>
とみたです。
[#22026] assert — "友谷 登" <ntomo@...>
はじめまして友谷です
[#22069] Re: #define const — Toyofuku <toyofuku@...>
豊福です。
[#22075] erb-1.2.2 — Masatoshi SEKI <m_seki@...>
石橋秀仁です。
[#22087] media watch 2000.03.24 — Noritsugu Nakamura <nnakamur@...>
[#22103] Please put ruby-1.4.4.tar.gz in pub/lang/ruby/1.4/ — "Akinori -Aki- MUSHA" <knu@...>
お願いがあるのですが、 ruby-1.4.4.tar.gz を FTP ツリーの 1.4/
[ruby-list:22103]におきまして、2000/04/25 12:38ほどに、
新井です。
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです
新井です。
Toshです。
[#22117] StateGraph: state machine interpreter — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋 "rubyholic" 秀仁です。
From: Hideto ISHIBASHI <hideto-i@rr.iij4u.or.jp>
石橋 "rubyholic" 秀仁です。
やすし % GUI大好きです。
[#22159] $LOAD_PATH への追加について — "Sugawara Hajime" <sugawara@...>
はじめまして、菅原@ホビー・データです。
菅原@ホビー・データです。
[#22164] Directory Cabinet Program — sekita-n@... (Nobutaka SEKITANI)
関谷@電通大です。
[#22171] postgres.c のエラーメッセージ — Saitou Noboru <noborus@...>
まつもと ゆきひろです
[#22181] Can't Use optparse — Yamada Kenji <kyamada@...>
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
新井です。
新井です。
Toshです。
新井です。
Toshです。
[#22188] Web Robot of Ruby — Ryunosuke Ohshima <ryu@...>
大島@北陸先端科学技術大学院大学です。
[ruby-list:21981] rd2man
わたなべです.
漢ならやっぱ man だろ? ってことで rd2man です.
この程度で満足しちゃったので出します.
ちょっとあやしげではあるけど, それなりに nroff は理解してくます.
% rd2 -r rd2man hoge.rd > hoge.1
Linux の場合だと
% man ./hoge.1
で見れます. (./ がミソ)
=begin
= rd2man.rb
=end
require "rd/rdvisitor"
module RD
class RD2MANVisitor < RDVisitor
include AutoLabel
include MethodParse
# must-have constants
OUTPUT_SUFFIX = "1"
INCLUDE_SUFFIX = ["1"]
def initialize
@enumcounter = 0
end
def visit(tree)
prepare_labels(tree, "")
super(tree)
end
def apply_to_DocumentElement(element, content)
content = content.join
title = @filename || ARGF.filename || "Untitled"
<<"EOT"
.\" DO NOT MODIFY THIS FILE! it was generated by rd2
.TH #{title} 1 "#{Time.now.strftime '%B %Y'}"
#{content}
EOT
end
def apply_to_Headline(element, title)
".SH #{title}.PP\n"
end
# RDVisitor#apply_to_Include
def apply_to_TextBlock(element, content)
content.join
end
def apply_to_Verbatim(element)
content = []
element.each_line do |i|
content.push(apply_to_String(i))
end
# Can we use BLOCKQUOTE such like?
%Q[.nf\n\\& #{content.join("\\& ")}.fi\n]
end
def apply_to_ItemList(element, items)
items = items.join(".TP\n.B\n\\(bu ")
".TP\n.B\n\\(bu " + items
end
def apply_to_EnumList(element, items)
@enumcounter = 0
"\n" + items.join + "\n.PP\n"
end
def apply_to_DescList(element, items)
items.join("\n")
end
def apply_to_MethodList(element, items)
items.join("\n")
end
def apply_to_ItemListItem(element, content)
content.join("\n")
end
def apply_to_EnumListItem(element, content)
@enumcounter += 1
%Q[.IP #{@enumcounter}.\n#{content.join("\n")}]
end
def apply_to_DescListItem(element, term, description)
anchor = refer(element)
if description.empty?
"\n.TP\n.fi\n.B\n#{term}"
else
%[\n.TP\n.fi\n.B\n#{term}\n#{description.join("\n")}]
end
end
def apply_to_MethodListItem(element, term, description)
term = parse_method(term) # maybe: term -> element.term
anchor = refer(element)
if description.empty?
"\n.TP\n.fi\n.B\n#{term}"
else
%[\n.TP\n.fi\n.B\n#{term}\n#{description.join("\n")}]
end
end
def parse_method(method)
klass, kind, method, args = MethodParse.analize_method(method)
if kind == :function
klass = kind = nil
else
kind = MethodParse.kind2str(kind)
end
case method
when "[]"
args.strip!
args.sub!(/^\((.*)\)$/, '\\1')
"#{klass}#{kind}[#{args}]"
when "[]="
args.strip!
args.sub!(/^\((.*)\)$/, '\\1')
args, val = /^(.*),([^,]*)$/.match(args)[1,2]
args.strip!
val.strip!
"#{klass}#{kind}[#{args}] = #{val}"
else
"#{klass}#{kind}#{method}#{args}"
end
end
private :parse_method
def apply_to_StringElement(element)
apply_to_String(element.content)
end
def apply_to_Emphasis(element, content)
%Q[\\fI#{content.join}\\fP]
end
def apply_to_Code(element, content)
%{\\fB#{content.join}\\fP}
end
def apply_to_Var(element, content)
content.join
end
def apply_to_Keyboard(element, content)
content.join
end
def apply_to_Index(element, content)
tmp = []
element.each do |i|
tmp.push(i) if i.is_a?(String)
end
key = meta_char_escape(tmp.join)
if @index.has_key?(key)
# warning?
""
else
num = @index[key] = @index.size
content.join
end
end
def apply_to_Reference(element, content)
case element.label
when Reference::URL
apply_to_RefToURL(element, content)
when Reference::RDLabel
if element.label.filename
apply_to_RefToOtherFile(element, content)
else
apply_to_RefToElement(element, content)
end
end
end
def apply_to_RefToElement(element, content)
content = content.join
content.sub(/^function#/, "")
end
def apply_to_RefToOtherFile(element, content)
content.join
end
def apply_to_RefToURL(element, content)
content.join
end
def apply_to_Footnote(element, content)
""
end
def apply_to_Verb(element)
apply_to_String(element.content)
end
def apply_to_String(element)
meta_char_escape(element)
end
def meta_char_escape(str)
str.gsub(/[-\\]/, '\\\\\\&').gsub(/^[.']/, '\\&')
end
private :meta_char_escape
end # RD2MANVisitor
end # RD
$Visitor_Class = RD::RD2MANVisitor
=begin
== script info.
RD to MAN translate library for rdfmt.rb
$Id$
== changes
:0.1.0 (2000/04/09)
* first release version
=end