Hello. When it comes to big, complex and long programs, you don't always
want to be needing to say at every single string:
if answer == 'exit'
exit
end
Get the point? Let's say you're making a program that's kinda like this:
···
--------------------
puts 'Hello, my name is Jimmy Hendrix. What\'s your name?'
puts ' '
name = gets.chomp
If name == 'Charlie' or name == 'Matt'
puts 'Ahh, great to see you. You're a boy.'
if name == 'Ann' or name == 'Sandria'
puts 'I see, you're a girl.'
end
----------------------
Now, if I wanted to exit my program lets say when I'm supposed to say
the name, I would be needing to do a, if name == 'exit', exit. and the
same thing if I wanted to exit when I was deeper in a longer program.
The main point I'm trying to get to here is: "Is there any function that
I can put at the beginning or the end, that says my program to exit
whenever I say exit WITHOUT having to put the:
class Object
def gets( *args )
result = super
exit if result =~ /\A\s*exit\s*\z/oi
result
end
end
However, instead of monkey-patching the object class (and shadowing)
the Kernel#gets method), I would suggest instead writing your own
method:
def gets_or_exit
result = gets
exit if result =~ /\A\s*exit\s*\z/oi
result
end
This gives you the ability to decide if there's a time when you want
to use gets without exiting, and to do additional common work (like
always #chomp the result before returning it).
···
On Sep 6, 3:15 pm, Helgitomas Gislason <nitrohel...@hotmail.com> wrote:
The main point I'm trying to get to here is: "Is there any function that
I can put at the beginning or the end, that says my program to exit
whenever I say exit WITHOUT having to put the:
if name == 'exit'
exit
end
at every string I want to have the possibility yo exit from??
On 9/6/07, Helgitomas Gislason <nitrohelgso@hotmail.com> wrote:
The main point I'm trying to get to here is: "Is there any function that
I can put at the beginning or the end, that says my program to exit
whenever I say exit WITHOUT having to put the: