The Ruby Programming Language [mirror]
Go to file
usa b1e84d4c94 * 2005-03-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-04 00:16:09 +00:00
bcc32 * common.mk: add {pre,post}-install targets. 2005-03-03 09:44:33 +00:00
bin ri now merges the documentation if it finds the same class in multiple places 2004-08-30 14:22:26 +00:00
cygwin * common.mk: add {pre,post}-install targets. 2005-03-03 09:44:33 +00:00
djgpp * configure.in: better DJGPP support. add GNUmakefile. 2003-01-01 09:26:45 +00:00
doc * lib/generator.rb: A new library which converts an internal 2003-10-14 20:14:20 +00:00
ext * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.63 2005-03-03 22:12:03 +00:00
lib improved keeper thread 2005-02-28 15:41:14 +00:00
misc * file.c (rb_file_chown): integer conversion should be prior to 2004-11-22 15:26:02 +00:00
missing * missing/os2.c, missing/x68.c: typo fix. pointed out by greentea. 2004-02-21 02:12:21 +00:00
sample * sample/rss/tdiary_plugin/rss-recent.rb: added site information. 2005-03-03 02:52:55 +00:00
test improved keeper thread 2005-02-28 15:41:14 +00:00
vms config.h_in has been renamed to config.h 2003-12-26 01:39:25 +00:00
win32 * {bcc32,win32,wince}/Makefile.sub (config.h): check if affected 2005-03-03 09:38:40 +00:00
wince * {bcc32,win32,wince}/Makefile.sub (config.h): check if affected 2005-03-03 09:38:40 +00:00
x68 Initial revision 1998-01-16 12:13:05 +00:00
.cvsignore * error.c (Init_Exception): remove Exception#to_str. [Ruby2] 2004-04-05 15:55:09 +00:00
.document Support "require" as variable name in RDoc 2004-10-10 03:35:51 +00:00
COPYING * eval.c (method_inspect): should not dump core for unbound 2002-02-25 09:16:25 +00:00
COPYING.ja Rename *.jp to *.ja, since jp is a region code and ja is a language 2001-07-19 05:44:26 +00:00
ChangeLog * ext/nkf/nkf-utf8/nkf.c: follow nkf 1.63 2005-03-03 22:12:03 +00:00
GPL * It is confusing to put the GPL license terms in the file COPYING; 2001-07-11 19:25:52 +00:00
LEGAL remove oniggnu.h (GNU regex API). 2005-02-26 08:05:06 +00:00
LGPL * It is confusing to put the GPL license terms in the file COPYING; 2001-07-11 19:25:52 +00:00
Makefile.in * Makefile.in, configure.in: made EXTOUT configurable. 2005-01-31 15:19:27 +00:00
README * eval.c (rb_thread_restore_context): save current value of 2001-09-08 14:17:53 +00:00
README.EXT * README.EXT (Example): extconf.rb is indispensable now. 2004-11-10 03:31:55 +00:00
README.EXT.ja * README.EXT, README.EXT.ja: remove MANIFEST stuff. 2004-11-01 10:41:08 +00:00
README.ja * eval.c (rb_thread_restore_context): save current value of 2001-09-08 14:17:53 +00:00
ToDo * error.c (Init_Exception): remove Exception#to_str. [Ruby2] 2004-04-05 15:55:09 +00:00
array.c * process.c (proc_getpgrp): prohibit for $SAFE=2. 2004-11-18 03:45:23 +00:00
ascii.c This commit was generated by cvs2svn to compensate for changes in r7843, 2005-01-28 15:02:36 +00:00
bignum.c * struct.c (make_struct): remove redefining constant when 2004-09-03 09:00:52 +00:00
class.c * string.c (str_mod_check): frozen check should be separated. 2004-11-16 04:55:14 +00:00
common.mk * common.mk: add {pre,post}-install targets. 2005-03-03 09:44:33 +00:00
compar.c Remove explicit NIL_P() checks since rb_cmpint() does it again in the exactly same manner. 2004-06-22 06:30:41 +00:00
config.guess * eval.c (THREAD_ALLOC): th->thread should be initialized to NULL. 2004-07-17 02:23:52 +00:00
config.sub * config.guess, config.sub: Update to a more recent version as of 2004-06-09 06:10:59 +00:00
configure.in * configure.in, lib/mkmf.rb: use simple commands if available. 2005-02-22 14:52:59 +00:00
defines.h * defines.h: include <net/socket.h> to get fd_set definition in BeOS. 2004-04-14 02:03:41 +00:00
dir.c * io.c (dir_s_mkdir): win32 special processing doesn't need any longer. 2004-12-07 04:45:46 +00:00
dln.c * dln.c: typo fix. 2005-02-07 04:00:58 +00:00
dln.h Updated Copyrights of Matz to 2003. 2003-01-16 07:34:03 +00:00
dmyext.c Initial revision 1998-01-16 12:13:05 +00:00
enum.c * eval.c (rb_eval): NODE_XSTR should pass copy of literal string. 2004-10-30 06:56:18 +00:00
env.h * eval.c (rb_eval): [ruby-core:03856] 2004-11-30 04:01:17 +00:00
error.c * re.c (rb_reg_initialize_m): should raise exception instead of 2004-11-17 02:27:38 +00:00
euc_jp.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
eval.c * eval.c (ruby_native_thread_kill): call pthread_kill() to send a 2005-03-02 08:11:28 +00:00
file.c typo fix 2005-03-02 12:38:23 +00:00
gc.c remove GNU regex API 2005-02-17 14:43:38 +00:00
hash.c * ascii.c, euc_jp.c, hash.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, reggnu.c, regint.h, regparse.c, regparse.h, sjis.c, st.c, st.h, utf8.c: imported Oni Guruma 3.5.4. 2005-01-28 15:21:48 +00:00
inits.c Add boot_classes to rdoc parsing, fix a couple of bugs 2003-12-19 03:58:57 +00:00
install-sh 1.4.0 1999-08-13 05:45:20 +00:00
instruby.rb * common.mk: add {pre,post}-install targets. 2005-03-03 09:44:33 +00:00
intern.h * signal.c: Standard signal handlers ignore signals on non-Ruby native 2005-02-21 09:33:34 +00:00
io.c fix previous commit to check stdout is a tty. 2005-02-07 14:40:22 +00:00
keywords * keywords, parse.y: separate EXPR_VALUE from EXPR_BEG. 2005-02-08 13:39:47 +00:00
lex.c * keywords, parse.y: separate EXPR_VALUE from EXPR_BEG. 2005-02-08 13:39:47 +00:00
main.c Fix indentation in time.c 2004-06-23 12:59:01 +00:00
marshal.c * marshal.c (r_object0): check inheritance by the internal function. 2004-10-18 14:37:42 +00:00
math.c * eval.c (cvar_cbase): class variables cause SEGV in 2004-09-03 17:41:27 +00:00
mdoc2man.rb * mdoc2man.rb: Properly put nested braces, parentheses and angles. 2003-01-20 12:10:40 +00:00
missing.h * configure.in (ac_cv_func_setitimer): moved from defines.h 2003-12-22 08:23:55 +00:00
mkconfig.rb * configure.in, lib/mkmf.rb: use simple commands if available. 2005-02-22 14:52:59 +00:00
node.h * eval.c (rb_eval): [EXPERIMENTAL] NODE_LAMBDA implemented. 2005-03-02 03:21:31 +00:00
numeric.c * numeric.c (Init_Numeric): turn off floating point exceptions 2005-01-11 00:46:35 +00:00
object.c * object.c (rb_class_superclass): superclass of singleton class also 2005-01-11 15:36:52 +00:00
oniguruma.h * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
pack.c * string.c (rb_str_clear): avoid revealing NULL pointer. 2004-11-14 15:41:40 +00:00
parse.y * eval.c (rb_eval): [EXPERIMENTAL] NODE_LAMBDA implemented. 2005-03-02 03:21:31 +00:00
prec.c * array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c, 2004-04-14 04:06:52 +00:00
process.c * process.c (NUM2RLIM, RLIM2NUM): Without SIZEOF_RLIM_T is not error. 2004-12-27 05:39:27 +00:00
random.c * random.c (rand_init): suppress warning. 2005-02-12 06:07:47 +00:00
range.c * parse.y (ripper_s_allocate): add prototype for Microsoft compiler. 2004-10-29 08:19:50 +00:00
re.c remove oniggnu.h (GNU regex API). 2005-02-26 08:05:06 +00:00
re.h * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define 2003-03-04 14:12:19 +00:00
regcomp.c regcomp.c: uninitialized member (backrefed_status) was used. 2005-03-01 12:23:17 +00:00
regenc.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
regenc.h This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
regerror.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
regex.h remove oniggnu.h (GNU regex API). 2005-02-26 08:05:06 +00:00
regexec.c * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
regint.h * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
regparse.c * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
regparse.h * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
ruby.1 * ruby.1: add -width option to .Bl for old groff. 2004-03-21 12:08:02 +00:00
ruby.c * ruby.c (proc_options): correct -T option in RUBYOPT. 2005-01-25 08:10:33 +00:00
ruby.h * eval.c (ruby_native_thread_kill): call pthread_kill() to send a 2005-03-02 08:11:28 +00:00
rubyio.h * io.c (io_getc): flush rb_stdout before read fro stdin, which is 2005-02-07 14:18:41 +00:00
rubysig.h * rubysig.h: <errno.h> is needed to use errno which may be a macro. 2004-01-09 02:52:19 +00:00
rubytest.rb * rubytest.rb: do nothing while cross-compiling, return status in 2004-04-15 10:57:16 +00:00
runruby.rb * runruby.rb: prepend LIBRUBY_SO to LD_PRELOAD as well as rubytest.rb. 2004-12-07 18:26:46 +00:00
signal.c * eval.c (ruby_native_thread_kill): call pthread_kill() to send a 2005-03-02 08:11:28 +00:00
sjis.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
sprintf.c * sprintf.c (rb_f_sprintf): [ruby-dev:25104] 2004-12-08 05:32:26 +00:00
st.c * st.c, st.h: imported additional file changes on Oniguruma 3.7.0. 2005-02-23 13:10:45 +00:00
st.h * st.c, st.h: imported additional file changes on Oniguruma 3.7.0. 2005-02-23 13:10:45 +00:00
string.c * string.c (rb_str_justify): create buffer string after argument type 2004-12-28 13:32:28 +00:00
struct.c * intern.h, struct.c (rb_struct_s_members, rb_struct_members): public 2004-09-27 04:46:54 +00:00
time.c Fix indentation in time.c 2004-06-23 12:59:01 +00:00
utf8.c * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
util.c * enum.c (enum_sort_by): do not use qsort directly. use 2004-09-21 03:08:33 +00:00
util.h * enum.c (enum_sort_by): do not use qsort directly. use 2004-09-21 03:08:33 +00:00
variable.c * variable.c (rb_autoload): hide internal data from ruby level. 2005-01-10 14:07:53 +00:00
version.c * version.c (ruby_show_copyright): obtain copyright year from 2004-03-25 12:01:41 +00:00
version.h * 2005-03-04 2005-03-04 00:16:09 +00:00

README

* What's Ruby

Ruby is the interpreted scripting language for quick and
easy object-oriented programming.  It has many features to
process text files and to do system management tasks (as in
Perl).  It is simple, straight-forward, and extensible.


* Features of Ruby

  + Simple Syntax
  + *Normal* Object-Oriented features(ex. class, method calls)
  + *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)
  + Operator Overloading
  + Exception Handling
  + Iterators and Closures
  + Garbage Collection
  + Dynamic Loading of Object files(on some architecture)
  + Highly Portable(works on many UNIX machines, and on DOS,
    Windows, Mac, BeOS etc.)


* How to get Ruby

The Ruby distribution can be found on:

  ftp://ftp.ruby-lang.org/pub/ruby/

You can get it by anonymous CVS.  How to check out is:

  $ cvs -d :pserver:anonymous@cvs.ruby-lang.org:/src login
  (Logging in to anonymous@cvs.ruby-lang.org)
  CVS password: anonymous
  $ cvs -z4 -d :pserver:anonymous@cvs.ruby-lang.org:/src checkout ruby


* Ruby home-page

The URL of the Ruby home-page is:

   http://www.ruby-lang.org/


* Mailing list

There is a mailing list to talk about Ruby.
To subscribe this list, please send the following phrase

	subscribe YourFirstName YourFamilyName
e.g.
        subscribe Joseph Smith

in the mail body (not subject) to the address <ruby-talk-ctl@ruby-lang.org>.


* How to compile and install

This is what you need to do to compile and install Ruby:

  1. If ./configure does not exist or is older than configure.in,
     run autoconf to (re)generate configure.

  2. Run ./configure, which will generate config.h and Makefile.

  3. Edit defines.h if you need.  Probably this step will not need.

  4. Remove comment mark(#) before the module names from ext/Setup (or
     add module names if not present), if you want to link modules
     statically.

     If you don't want to compile non static extension modules
     (probably on architectures which does not allow dynamic loading),
     remove comment mark from the line "#option nodynamic" in
     ext/Setup.

  5. Run make.

  6. Optionally, run 'make test' to check whether the compiled Ruby
     interpreter works well.  If you see the message "test succeeded",
     your ruby works as it should (hopefully).

  7. Run 'make install'

     You may have to be a super user to install ruby.

If you fail to compile ruby, please send the detailed error report with
the error log and machine/OS type, to help others.


* Copying

See the file COPYING.


* The Author

Feel free to send comments and bug reports to the author.  Here is the 
author's latest mail address:

  matz@netlab.jp

-------------------------------------------------------
created at: Thu Aug  3 11:57:36 JST 1995
Local variables:
mode: indented-text
end: