summaryrefslogtreecommitdiff
path: root/ruby.1
diff options
context:
space:
mode:
Diffstat (limited to 'ruby.1')
-rw-r--r--ruby.1121
1 files changed, 43 insertions, 78 deletions
diff --git a/ruby.1 b/ruby.1
index c013afdf0b..77af61d781 100644
--- a/ruby.1
+++ b/ruby.1
@@ -1,45 +1,10 @@
-.\"Ruby is copyrighted by Yukihiro Matsumoto <matz@netlab.co.jp>.
-.\"
-.\"This source is distributed under the conditions blow:
-.\"
-.\" 1. You may make and give away verbatim copies of the source form of
-.\" the software without restriction, provided that you do not modify
-.\" the original distribution files.
-.\"
-.\" If you want to distribute the modified version in any way, contact
-.\" the author.
-.\"
-.\" 2. You may distribute the software in object code or executable
-.\" form, provided that you distribute it with instructions on where
-.\" to get the software.
-.\"
-.\" 3. You may modify the software in any way, provided that you do not
-.\" distribute the modified version.
-.\"
-.\" 4. You may modify and include the part of the software into any other
-.\" software (possibly commercial). But some files in the distribution
-.\" are not written by the author, so that they are not under this terms.
-.\" They are gc.c(partly),utils.c(partly), regex.[ch],fnmatch.[ch],
-.\" glob.c, st.[ch] and somme files under the ./missing directory. See
-.\" each files for the copying condition.
-.\"
-.\" 5. The scripts and library files supplied as input to or produced as
-.\" output from the software do not automatically fall under the
-.\" copyright of the software, but belong to whomever generated them,
-.\" and may be sold commercially, and may be aggregated with this
-.\" software.
-.\"
-.\" 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-.\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-.\" PURPOSE.
.\"
.\" $Id$
.\"
.na
.TH RUBY 1 "ruby 1.1" "22/Jun/98" "Ruby Programmers Reference Guide"
.SH NAME
-ruby - Interpreted scripting language
+ruby - interpreted object-oriented scripting language
.SH SYNOPSIS
.B ruby \c
[ \c
@@ -101,22 +66,22 @@ straight-forward, and extensible.
.PP
If you want a language for easy object-oriented programming, or you
don't like the PERL ugliness, or you do like the concept of lisp, but
-don't like too much parentheses, ruby may be the language of the
+don't like too much parentheses, Ruby may be the language of the
choice.
.SH DESCRIPTION
Ruby's features are as follows:
.TP
.B "\(bu Interpretive"
Ruby is the interpreted language, so you don't have to
-recompile to execute the program written in ruby.
+recompile to execute the program written in Ruby.
.TP
.B "\(bu Variables have no type (dynamic typing)"
-Variables in ruby can contain data of any type. You don't have
+Variables in Ruby can contain data of any type. You don't have
to worry about variable typing. Consequently, it has weaker
compile time check.
.TP
.B "\(bu No declaration needed"
-You can use variables in your ruby programs without any
+You can use variables in your Ruby programs without any
declarations. Variable name itself denotes its scope (local,
global, instance, etc.)
.TP
@@ -133,7 +98,7 @@ Ruby is the pure object-oriented language from the beginning.
Even basic data like integers are treated uniformly as objects.
.TP
.B "\(bu Class, inheritance, methods"
-Of course, as a O-O language, ruby has basic features like
+Of course, as a O-O language, Ruby has basic features like
classes, inheritance, methods, etc.
.TP
.B "\(bu Singleton methods"
@@ -145,21 +110,21 @@ system using singleton methods (if you want to).
.TP
.B "\(bu Mix-in by modules"
Ruby does not have the multiple inheritance intentionally. IMO,
-It is the source of confusion. Instead, ruby has modules to
+It is the source of confusion. Instead, Ruby has modules to
share the implementation across the inheritance tree. It is
-often called "Mix-in."
+often called as "Mix-in."
.TP
.B "\(bu Iterators"
Ruby has iterators for loop abstraction.
.TP
.B "\(bu Closures"
-In ruby, you can objectify the procedure.
+In Ruby, you can objectify the procedure.
.TP
.B "\(bu Text processing and regular expression"
Ruby has bunch of text processing features like in perl.
.TP
.B "\(bu Bignums"
-With bu ilt-in bignums, you can calculate factorial(400), for
+With built-in bignums, you can calculate factorial(400), for
example.
.TP
.B "\(bu Exception handling"
@@ -177,15 +142,15 @@ most of UNIXes.
Ruby interpreter accepts following command-line options (switches).
Basically they are quite similar to those of Perl.
.TP
-.B -0digit
-specifies the input record separator ($/) as an octal number.
+.B -0\fIdigit
+specifies the input record separator (\fB$/\fR) as an octal number.
If no digits given, the null character is the separator. Other
-switches may follow the digits. -00 turns ruby into paragraph
-mode. -0777 makes ruby read whole file at once as a single
+switches may follow the digits. \fB-00\fR turns ruby into paragraph
+mode. \fB-0777\fR makes ruby read whole file at once as a single
string, since there is no legal character with that value.
.TP
.B -a
-turns on auto-split mode when used with -n or -p. In auto-split
+turns on auto-split mode when used with \fB-n\fR or \fB-p\fR. In auto-split
mode, ruby executes
.nf
.ne 1
@@ -198,21 +163,21 @@ causes ruby to check the syntax of the script and exit without
executing. If there is no syntax error, ruby will print "Syntax
OK" to the standard output.
.TP
-.B -Kc
+.B -K\fIc
specifies KANJI (Japanese character) code-set.
.TP
.B
-d --debug
-turns on debug mode. $DEBUG will set TRUE.
+turns on debug mode. \fB$DEBUG\fR will set TRUE.
.TP
-.B -e script
-specifies script from command-line. if -e switch specified,
+.B -e \fIscript
+specifies script from command-line. if \fB-e\fR switch specified,
ruby will not look for a script filename in the arguments.
.TP
-.B -F regexp
-specifies input field separator ($;).
+.B -F \fIregexp
+specifies input field separator (\fB$;\fR).
.TP
-.B -i extension
+.B -i \fIextension
specifies in-place-edit mode. The extension, if specified, is
added to old filename to make a backup copy.
example:
@@ -228,19 +193,19 @@ example:
\& matz
.fi
.TP
-.B -I directory
+.B -I \fIdirectory
used to tell ruby where to load the library scripts. Directory
-path will be added to the load-path variable ($:').
+path will be added to the load-path variable (\fB$:\fR).
.TP
.B -l
enables automatic line-ending processing, which means firstly
-set $\ to the value of $/, and secondly chops every line read
-using chop!.
+set \fB$\\\fR to the value of \fB$/\fR, and secondly chops every line read
+using \fBchop!\fR.
.TP
.B -n
causes ruby to assume the following loop around your script,
which makes it iterate over filename arguments somewhat like
-sed -n or awk.
+sed \fB-n\fR or awk.
.nf
.ne 3
\& while gets
@@ -249,8 +214,8 @@ sed -n or awk.
.fi
.TP
.B -p
-acts mostly same as -n switch, but print the value of variable
-$_ at the each end of the loop.
+acts mostly same as \fB-n\fR switch, but print the value of variable
+\fB$_\fR at the each end of the loop.
example:
.nf
.ne 2
@@ -258,13 +223,13 @@ example:
\& MATZ
.fi
.TP
-.B -r filename
-causes ruby to load the file using [4]require. It is useful
-with switches -n or -p.
+.B -r \fIfilename
+causes ruby to load the file using require. It is useful
+with switches -n or \fB-p\fR.
.TP
.B -s
enables some switch parsing for switches after script name but
-before any filename arguments (or before a --). Any switches
+before any filename arguments (or before a \fB--\fR). Any switches
found there is removed from ARGV and set the corresponding
variable in the script.
example:
@@ -278,7 +243,7 @@ example:
.B -S
makes ruby uses the PATH environment variable to search for
script, unless if its name begins with a slash. This is used to
-emulate #! on machines that don't support it, in the following
+emulate \fB#!\fR on machines that don't support it, in the following
manner:
.nf
.ne 2
@@ -287,17 +252,17 @@ manner:
\& exec /usr/local/bin/ruby -S $0 $*
.fi
On some systems $0 does not always contain the full pathname,
-so you need -S switch to tell ruby to search for the script if
+so you need \fB-S\fR switch to tell ruby to search for the script if
necessary.
-To handle embedded spaces or such, A better construct than $*
-would be ${1+"$@"}, but it does not work if the script is being
+To handle embedded spaces or such, A better construct than \fB$*\fR
+would be \fB${1+"$@"}\fR, but it does not work if the script is being
interpreted by csh.
.TP
.B -v --verbose
enables verbose mode. Ruby will prints its version at the
-beginning, and set the variable `$VERBOSE' to TRUE. Some
+beginning, and set the variable \fB$VERBOSE\fR to TRUE. Some
methods prints extra messages if this variable is TRUE. If this
-switch is given, and no other switches present, ruby quits
+switch is given, and no other arguments present, ruby quits
after printing its version.
.TP
.B --version
@@ -305,18 +270,18 @@ prints the version of ruby executable.
.TP
.B -w
enables verbose mode without printing version message at the
-beginning. It set the variable `$VERBOSE' to TRUE.
+beginning. It set the variable \fB$VERBOSE\fR to TRUE.
.TP
-.B -x[directory]
+.B -x\fR[\fIdirectory\fR]
tells ruby that the script is embedded in a message. Leading
-garbage will be discarded until the first that starts with "#!"
+garbage will be discarded until the first that starts with "\fB#!\fR"
and contains string "ruby". Any meaningful switches on that
line will applied. The end of script must be specified with
either EOF, ^D (control-D), ^Z (control-Z), or reserved word
__END__.If the directory name is specified, ruby will switch to
that directory before executing script.
.TP
-.B -X directory
+.B -X \fIdirectory
causes ruby to switch to the directory.
.TP
.B -y --yydebug