Getting initialization status from "foo = Class.new"

Here's a ruby noob question for ya:

I have a class I've made that the initalize method searches for a file
needed for the class to function.

Right now, I've made a class variable, "found", that is set to true or
false if the initialize method could or could not find the file.

For example:

foo = Class.new

if foo.found == true
   # continue program
else
   # give error message
exit

Is there a way for "Class.new" to signal failure? I originally had the
class's initialize method return true or false but this doesn't seem to
be reflected in a "foo = Class.new" when trying it in irb.

Using the class variable "found" works but shouldn't Class.new signal
failure?

···

--
Posted via http://www.ruby-forum.com/.

How about raising an exception?
http://www.rubycentral.com/book/tut_exceptions.html

-Harold

···

On 11/13/06, Rodney Brown <rodney.brown@knology.net> wrote:

Is there a way for "Class.new" to signal failure? I originally had the
class's initialize method return true or false but this doesn't seem to
be reflected in a "foo = Class.new" when trying it in irb.

Using the class variable "found" works but shouldn't Class.new signal
failure?

Rodney Brown wrote:

Here's a ruby noob question for ya:

I have a class I've made that the initalize method searches for a file needed for the class to function.

Right now, I've made a class variable, "found", that is set to true or false if the initialize method could or could not find the file.

For example:

foo = Class.new

if foo.found == true
   # continue program
else
   # give error message
exit

Is there a way for "Class.new" to signal failure? I originally had the class's initialize method return true or false but this doesn't seem to be reflected in a "foo = Class.new" when trying it in irb.

Using the class variable "found" works but shouldn't Class.new signal failure?

Generally when the initialize method fails it should raise an exception.

Hi, Rodney,

       I wrote a small program for you, maybe it can meet your requirements.
I think you intended that your program flow could be controled directly by
"foo = Class.new" instead of other dedicated variables like "@found" for
this purpose.
//////////////////////program commences///////////////////////
class ClassAndFileTest
    def initialize
        puts "shiwei zhang";
        #searching the file...........
        #if found the file
            ;
        #if did not find the file
            raise "file not found!";
    end
end

begin
     foo=ClassAndFileTest.new;
rescue
     #give error message
     puts $!;
     exit;
end
     # continue program
     puts "file found!";
     ............
/////////////////////////program concludes////////////////////////////

Rgds,
Shiwei

···

On 11/13/06, Rodney Brown <rodney.brown@knology.net> wrote:

Here's a ruby noob question for ya:

I have a class I've made that the initalize method searches for a file
needed for the class to function.

Right now, I've made a class variable, "found", that is set to true or
false if the initialize method could or could not find the file.

For example:

foo = Class.new

if foo.found == true
   # continue program
else
   # give error message
exit

Is there a way for "Class.new" to signal failure? I originally had the
class's initialize method return true or false but this doesn't seem to
be reflected in a "foo = Class.new" when trying it in irb.

Using the class variable "found" works but shouldn't Class.new signal
failure?

--
Posted via http://www.ruby-forum.com/\.