Forum: Ruby require statement clarification

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Neville F. (Guest)
on 2007-02-06 01:36
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 F., http://www.getsoft.com http://www.surfulater.com
Stefano C. (Guest)
on 2007-02-06 01:52
(Received via mailing list)
Alle martedì 6 febbraio 2007, Neville F. ha scritto:
> Neville F., 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
Timothy H. (Guest)
on 2007-02-06 01:53
(Received via mailing list)
Neville F. wrote:
> Neville F., 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.
Neville F. (Guest)
on 2007-02-06 02:00
Thanks for that, especially the 'ri require' suggestion.

---
Neville F., http://www.getsoft.com http://www.surfulater.com
This topic is locked and can not be replied to.