mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
The Ruby Programming Language [mirror]
![]() modifying buffer is shared. * array.c (ary_make_shared): make an internal buffer of an array to be shared. * array.c (rb_ary_shift): avoid sliding an internal buffer by using shared buffer. * array.c (rb_ary_subseq): avoid copying the buffer. * parse.y (gettable): should freeze __LINE__ string. * io.c (rb_io_puts): old behavoir restored. rationale: a) if you want to call to_s for arrays, you can just call print a, "\n". b) to_s wastes memory if array (and sum of its contents) is huge. c) now any object that has to_ary is treated as an array, using rb_check_convert_type(). * hash.c (rb_hash_initialize): now accepts a block to calculate the default value. [new] * hash.c (rb_hash_aref): call "default" method to get the value corrensponding to the non existing key. * hash.c (rb_hash_default): get the default value based on the block given to 'new'. Now it takes an optinal "key" argument. "default" became the method to get the value for non existing key. Users may override "default" method to change the hash behavior. * hash.c (rb_hash_set_default): clear the flag if a block is given to 'new' * object.c (Init_Object): undef Data.allocate, left Data.new. * ext/curses/curses.c (window_scrollok): use RTEST(). * ext/curses/curses.c (window_idlok): ditto. * ext/curses/curses.c (window_keypad): ditto. * ext/curses/curses.c (window_idlok): idlok() may return void on some platforms; so don't use return value. * ext/curses/curses.c (window_scrollok): ditto for consistency. * ext/curses/curses.c: replace FIX2INT() by typechecking NUM2INT(). * parse.y (str_extend): should not process immature #$x and #@x interpolation, e.g #@#@ etc. * enum.c (enum_sort_by): sort_by does not have to be stable always. * enum.c (enum_sort_by): call qsort directly to gain performance. * util.c (ruby_qsort): ruby_qsort(qs6) is now native thread safe. * error.c (rb_sys_fail): it must be a bug if it's called when errno == 0. * regex.c (WC2MBC1ST): should not pass through > 0x80 number in UTF-8. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
---|---|---|
cygwin | ||
djgpp | ||
doc | ||
ext | ||
lib | ||
misc | ||
missing | ||
sample | ||
win32 | ||
x68 | ||
.cvsignore | ||
array.c | ||
bignum.c | ||
ChangeLog | ||
class.c | ||
compar.c | ||
config.guess | ||
config.sub | ||
configure.in | ||
COPYING | ||
COPYING.ja | ||
defines.h | ||
dir.c | ||
dln.c | ||
dln.h | ||
dmyext.c | ||
enum.c | ||
env.h | ||
error.c | ||
eval.c | ||
file.c | ||
gc.c | ||
GPL | ||
hash.c | ||
inits.c | ||
install-sh | ||
instruby.rb | ||
intern.h | ||
io.c | ||
keywords | ||
LEGAL | ||
lex.c | ||
LGPL | ||
main.c | ||
Makefile.in | ||
MANIFEST | ||
marshal.c | ||
math.c | ||
mkconfig.rb | ||
node.h | ||
numeric.c | ||
object.c | ||
pack.c | ||
parse.y | ||
prec.c | ||
process.c | ||
random.c | ||
range.c | ||
re.c | ||
re.h | ||
README | ||
README.EXT | ||
README.EXT.ja | ||
README.ja | ||
regex.c | ||
regex.h | ||
ruby.1 | ||
ruby.c | ||
ruby.h | ||
rubyio.h | ||
rubysig.h | ||
rubytest.rb | ||
signal.c | ||
sprintf.c | ||
st.c | ||
st.h | ||
string.c | ||
struct.c | ||
time.c | ||
ToDo | ||
util.c | ||
util.h | ||
variable.c | ||
version.c | ||
version.h |
* 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: