Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
require statement clarification
Neville Franks
2/5/2007 11:37:00 PM
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.g...
http://www.surf...
--
Posted via
http://www.ruby-...
.
3 Answers
Stefano Crocco
2/5/2007 11:52:00 PM
0
Alle martedì 6 febbraio 2007, Neville Franks ha scritto:
> 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.g...
http://www.surf...
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
Tim Hunter
2/5/2007 11:52:00 PM
0
Neville Franks wrote:
> 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.g...
http://www.surf...
>
>
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.
Neville Franks
2/6/2007
0
Thanks for that, especially the 'ri require' suggestion.
---
Neville Franks,
http://www.g...
http://www.surf...
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
require statement clarification
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password