From 75ff8fdb16fa0a733512e61350c9844ea530ad35 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 6 Oct 1998 03:28:28 +0000 Subject: join 1.1c6 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1dev@310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby.1 | 121 +++++++++++++++++++++++------------------------------------------ 1 file changed, 43 insertions(+), 78 deletions(-) (limited to 'ruby.1') 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 . -.\" -.\"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 -- cgit v1.2.3