Python, Lua and Tcl - public course schedule [here] Private courses on your site - see [here] Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems |
Loading Ruby classes - where does Ruby look?
If you're loading a Ruby class (or other code) from another source file, use the require function, and give the file name without the .rb on the end of it. Ruby will look in each of the directories listed in $: or $LOAD_PATH in turn, and that list usually includes . (the current directory). See that in irb:
>> puts $:
/Library/Ruby/Site/1.8
/Library/Ruby/Site/1.8/powerpc-darwin11.0
/Library/Ruby/Site/1.8/universal-darwin11.0
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr /lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin11.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0
.
=> nil
>>
But, occasionally, you may find a system where . is not included; there are security concerns relating to injection attacks in unfriendly environments which cause this to be a concern. And the effect is an error like this, even if the porridge.rb file is present in your current directory:
>> require "porridge"
LoadError: no such file to load -- porridge
This came up yesterday on a delegate's system, running the Backtrack version of Ubuntu.
Solution? Set the RUBYLIB environment variable, which is an extra colon-separated list of places that require is to look. You should export the variable from your shell, so:
export RUBYLIB=$RUBYLIB:.
(the echoing back of the old value allowing for other modifications of RUBYLIB which you will not want to overwrite).
(written 2012-02-24)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles R118 - Ruby Sources and Resources [3783] Load path, load and require in Ruby, and a change from 1.8 to 1.9 - (2012-06-24) [3435] Sorta sorting a hash, and what if an exception is NOT thrown - Ruby - (2011-09-12) [3426] Automed web site testing scripted in Ruby using watir-webdriver - (2011-09-09) [2931] Syncronise - software, trains, and buses. Please! - (2010-08-22) [2621] Ruby collections and strings - some new examples - (2010-02-03) [2610] Cheat Sheet - what do you need for Ruby on Rails? - (2010-01-31) [550] 2006 - Making business a pleasure - (2006-01-01) R119 - Ruby Miscellany [3799] Ruby Documentation through rdoc - (2012-07-07) [3428] How many days to Christmas? - (2011-09-09) [3155] Rake - a build system using code written in Ruby - (2011-02-03) [1890] MySQL database from Ruby - an example - (2008-11-16) [1889] Ruby mixins, modules, require and include - (2008-11-16) [1720] Some Ruby lesser used functions - (2008-07-26) [1586] Variable types in Ruby - (2008-03-21) [1181] Good Programming practise - where to initialise variables - (2007-05-09)
Some other Articles
There is so much to see travelling by train An update on Billy the Greyhound and Gypsy the LurcherWhy do we need a Model, View, Controller architecture?Some TestWise examples - helping use Ruby code to check your web site operationLoading Ruby classes - where does Ruby look?Matching regular expressions, and substitutions, in RubyFinding the total, average, minimum and maximum in a programRuby v Perl - a comparison examplelists and struct::list in Tcl - Introduction to struct::list and examplesThe fileutil package and a list of file system commands in Tcl
|
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|