For require "filename" if the filename doesn't include an extension is .rb assumed. I've been unable to find any documentation on this. Also the Ruby distribution telnet.rb source file includes: require "socket" however I'm unable to find any socket.rb file anywhere, only a socket.c So what does this file refer to? --- Neville Franks, http://www.getsoft.com http://www.surfulater.com
on 2007-02-06 00:36
on 2007-02-06 00:52
Alle martedÃ¬ 6 febbraio 2007, Neville Franks ha scritto: > Neville Franks, http://www.getsoft.com http://www.surfulater.com You can find the documentation you want with the command 'ri require'. At any rate, here's a summary: if the filename has a .rb extension, require loads it as a ruby source file. If it has the extension typical of libraries on that system (for example, .so on unix or .dll on windows), it loads it as a ruby extension. If the extension isn't specified, it tries adding the extensions to the filename, until it finds an existing file. Regarding socket, I have a socket.so file located in /usr/lib/ruby/1.8/i686-linux (This is on gentoo linux. I think other linux distributions may have it on different paths. I don't know about windows). This means that socket is a C extension. using require 'socket' will load the socket.so file. I hope this helps Stefano
on 2007-02-06 00:53
Neville Franks wrote: > Neville Franks, http://www.getsoft.com http://www.surfulater.com > > If no extension is specified .rb is the default. If Ruby can't find filename.rb it will try to load filename.so. You can specify either .rb or .so explicitly.