diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-23 06:26:11 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-08-23 06:26:11 +0000 |
commit | a14e13b23bea72ed78181f752eb6e9454b10eb9a (patch) | |
tree | f636a0c0081b1c9a141a50df65f63cc9f11267a6 /load.c | |
parent | a5cb0fb0c298146e3dbb85772bd5a9fd4b4ff8c3 (diff) | |
download | ruby-a14e13b23bea72ed78181f752eb6e9454b10eb9a.tar.gz |
* load.c (rb_f_require): Improve documentation of Kernel#require.
[Ruby 1.9 - Bug #5210]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'load.c')
-rw-r--r-- | load.c | 41 |
1 files changed, 25 insertions, 16 deletions
@@ -430,24 +430,33 @@ load_unlock(const char *ftptr, int done) /* * call-seq: - * require(string) -> true or false + * require(name) -> true or false * - * Ruby tries to load the library named _string_, returning - * +true+ if successful. If the filename does not resolve to - * an absolute path, it will be searched for in the directories listed - * in <code>$:</code>. If the file has the extension ``.rb'', it is - * loaded as a source file; if the extension is ``.so'', ``.o'', or - * ``.dll'', or whatever the default shared library extension is on - * the current platform, Ruby loads the shared library as a Ruby - * extension. Otherwise, Ruby tries adding ``.rb'', ``.so'', and so on - * to the name. The name of the loaded feature is added to the array in - * <code>$"</code>. A feature will not be loaded if its name already - * appears in <code>$"</code>. The file name is converted to an absolute - * path, so ``<code>require 'a'; require './a'</code>'' will not load - * <code>a.rb</code> twice. + * Loads the given +name+, returning +true+ if successful and +false+ if the + * feature is already loaded. * - * require "my-library.rb" - * require "db-driver" + * If the filename does not resolve to an absolute path, it will be searched + * for in the directories listed in <code>$LOAD_PATH</code> (<code>$:</code>). + * + * If the filename has the extension ".rb", it is loaded as a source file; if + * the extension is ".so", ".o", or ".dll", or the default shared library + * extension on the current platform, Ruby loads the shared library as a + * Ruby extension. Otherwise, Ruby tries adding ".rb", ".so", and so on + * to the name until found. If the file named cannot be found, a LoadError + * will be raised. + * + * For Ruby extensions the filename given may use any shared library + * extension. For example, on Linux the socket extension is "socket.so" and + * <code>require 'socket.dll'</code> will load the socket extension. + * + * The absolute path of the loaded file is added to + * <code>$LOADED_FEATURES</code> (<code>$"</code>). A file will not be + * loaded again if its path already appears in <code>$"</code>. For example, + * <code>require 'a'; require './a'</code> will not load <code>a.rb</code> + * again. + * + * require "my-library.rb" + * require "db-driver" */ VALUE |