From: "Ghelani, Vidhi" Date: 2005-02-12T02:43:04+09:00 Subject: Re: new to this language Hi, I did not quite understand this : In any file so the code in the if-block will be executed only if the file is being run directly by the interpreter (e.g.: ruby hello_world.rb) So if I had a file hello_world.ruby and if I have the if block in it. When I give the command ruby hello_world.ruby wont the entire file be run? SO how does the if block help? Sorry, but I think I am understanding it wrong. Thanks, Vidhi -----Original Message----- From: Joao Pedrosa [mailto:joaopedrosa@gmail.com] Sent: Friday, February 11, 2005 9:36 AM To: ruby-talk ML Subject: Re: new to this language Hi, > > 3) Do you need a main and a makefile ? I am sure you would need a main > > to test it . If yes how do you save the main? In what format? > > You don't need a main method. All Ruby code is executed as it is seen by the > interpreter. Some of the code above (superclass.rb and myclass.rb) define > classes and some of the code (another.rb) creates an instance of a class and > prints some output. Else, you can use if __FILE__ == $0 p 'Hello World!' end In any file so the code in the if-block will be executed only if the file is being run directly by the interpreter (e.g.: ruby hello_world.rb). It's useful so you can have a file that behaves like a library and a program, depending on how it's loaded. You load a library with the require (or load) command (e.g.: require 'open-uri'). I like to use such capability to test one or another thing in a file while I'm working on it. Welcome to Ruby. Cheers, Joao