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/\.