# How to execute ruby file from other ruby file?

**URL:** <https://www.ruby-forum.com/t/how-to-execute-ruby-file-from-other-ruby-file/52067>\
**Category:** Ruby\
**Created:** [January 10, 2006, 5:11pm UTC](https://www.ruby-forum.com/t/how-to-execute-ruby-file-from-other-ruby-file/52067 "2006-01-10T17:11:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![szczepiq](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@szczepiq](https://www.ruby-forum.com/u/szczepiq)\
**Post date:** [January 10, 2006, 5:11pm UTC](https://www.ruby-forum.com/t/how-to-execute-ruby-file-from-other-ruby-file/52067/1 "2006-01-10T17:11:58Z")

</div>

How to execute ruby file from other ruby file?

Thanks!

---

<div class="post-metadata">

**Author:** ![szczepiq](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@szczepiq](https://www.ruby-forum.com/u/szczepiq)\
**Post date:** [January 10, 2006, 5:17pm UTC](https://www.ruby-forum.com/t/how-to-execute-ruby-file-from-other-ruby-file/52067/2 "2006-01-10T17:17:29Z")

</div>

require ‘filename’

you’re welcome

2006/1/10, Szczepan F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![szczepiq](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@szczepiq](https://www.ruby-forum.com/u/szczepiq)\
**Post date:** [January 10, 2006, 5:29pm UTC](https://www.ruby-forum.com/t/how-to-execute-ruby-file-from-other-ruby-file/52067/3 "2006-01-10T17:29:33Z")

</div>

Dirk M. wrote:

> require ‘filename’
> 
> you’re welcome

Or,

`ruby filename.rb` # back-tics

which will trigger code that is testing to see if the file is called  
directly. E.g.:

if **FILE** == $0

# do me!

end

## James

[http://www.ruby-doc.org](http://www.ruby-doc.org) - Ruby Help & Documentation  
[Ruby Code & Style](http://www.artima.com/rubycs/) - The Journal By & For Rubyists  
[http://www.rubystuff.com](http://www.rubystuff.com) - The Ruby Store for Ruby Stuff  
[http://www.jamesbritt.com](http://www.jamesbritt.com) - Playing with Better Toys  
[http://www.30secondrule.com](http://www.30secondrule.com) - Building Better Tools

---

<div class="post-metadata">

**Author:** ![szczepiq](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@szczepiq](https://www.ruby-forum.com/u/szczepiq)\
**Post date:** [January 10, 2006, 5:32pm UTC](https://www.ruby-forum.com/t/how-to-execute-ruby-file-from-other-ruby-file/52067/4 "2006-01-10T17:32:35Z")

</div>

On Wed, 11 Jan 2006, Szczepan F. wrote:

> How to execute ruby file from other ruby file?
> 
> Thanks!

load ‘a.rb’

-a

---

<div class="post-metadata">

**Author:** ![szczepiq](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@szczepiq](https://www.ruby-forum.com/u/szczepiq)\
**Post date:** [January 11, 2006, 5:36am UTC](https://www.ruby-forum.com/t/how-to-execute-ruby-file-from-other-ruby-file/52067/5 "2006-01-11T05:36:55Z")

</div>

Szczepan F. wrote:

> How to execute ruby file from other ruby file?
> 
> Thanks!

To provide a comparison of the previously mentioned approaches:

`ruby foo.rb` creates a completely separate interpreter, which you might  
or might not want. You can’t directly access anything defined in one  
script in the other.

require is more commonly used to load libraries, since it will only  
process a file once; On the other side, load will always process the  
file.

For example, if you have (in the same directory) the files:

1. foo.rb

2. bar.rb

3. test.rb

Then, unless I’m very much mistaken, the output will be:

```
FOO
BAR
BAR

```

David V.
