[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Exiting in the middle of the program

Helgitomas Gislason

3/19/2007 10:06:00 PM

Good-Day to you all, programmers!

There is a ruby calculator in the /ruby installation folder which has
the ability of that when you just type 'Exit', the program exits.

How can I add this feature to a program built by myself? So when I type
'Exit' in the middle of the program, the program exits ...

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

5 Answers

Gavin Kistner

3/19/2007 10:09:00 PM

0

On Mar 19, 4:05 pm, Helgitomas Gislason <nitrohel...@hotmail.com>
wrote:
> There is a ruby calculator in the /ruby installation folder which has
> the ability of that when you just type 'Exit', the program exits.
>
> How can I add this feature to a program built by myself? So when I type
> 'Exit' in the middle of the program, the program exits ...

RTFM :)

C:\>ri Kernel#exit
------------------------------------------------------------
Kernel#exit
exit(integer=0)
Kernel::exit(integer=0)
Process::exit(integer=0)
------------------------------------------------------------------------
Initiates the termination of the Ruby script by raising the
+SystemExit+ exception. This exception may be caught. The
optional
parameter is used to return a status code to the invoking
environment.

begin
exit
puts "never get here"
rescue SystemExit
puts "rescued a SystemExit exception"
end
puts "after begin block"

_produces:_

rescued a SystemExit exception
after begin block

Just prior to termination, Ruby executes any +at_exit+ functions
(see Kernel::at_exit) and runs any object finalizers (see
ObjectSpace::define_finalizer).

at_exit { puts "at_exit function" }
ObjectSpace.define_finalizer("string", proc { puts "in
finalizer" })
exit

_produces:_

at_exit function
in finalizer

Tim Hunter

3/19/2007 10:21:00 PM

0

Helgitomas Gislason wrote:
> Good-Day to you all, programmers!
>
> There is a ruby calculator in the /ruby installation folder which has
> the ability of that when you just type 'Exit', the program exits.
>
> How can I add this feature to a program built by myself? So when I type
> 'Exit' in the middle of the program, the program exits ...
>
>
I'm pretty sure those examples are there just so you can see how to do
things with Ruby. Why don't you just look at the program, figure out how
it's doing it, and then do it the same way in your program?

Helgitomas Gislason

3/21/2007 6:30:00 PM

0

Errm... That does not tell me what code to put in the program to exit
it...

Example:

1. puts 'Hello there'
2. puts 'What\'s your name?'
3. puts ' '
4. name = gets.chomp
5. puts ' '
6.
7. if name == 'John'
8. puts 'Nice name!'
9. end
10.
11. if name == 'Mary'
12. puts 'What a beautiful name!'
13. end

Now. If I'd like to exit the program without typing the name, just say
"exit", what code should I put?

Can I only say:

if name == 'exit'
exit
end

?


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

Sylvain Abélard

3/21/2007 7:07:00 PM

0

> 7. if name == 'John'
> 8. puts 'Nice name!'
> 9. end
> 10.
> 11. if name == 'Mary'
> 12. puts 'What a beautiful name!'
> 13. end

Wow, I really recommend you look around to the "case" statement.
And the 'star' (*) operator (this one is tricky : it can either make
an array from separated vars or splat an existing array into several
separate stuff).

http://www.zenspider.com/Languages/Ruby/Qui...

case name
when "John", "Johnny" ; puts "nice name"
when * girls_name ; puts "beautiful name"
when "exit" ; exit 0
else puts name
end

> if name == 'exit'
> exit
> end

Yes. But why didn't you try ? You'd have seen by yourself :)

--
Sylvain Abelard,
Railer Rubyist. Epita MTI 2008.

Helgitomas Gislason

3/21/2007 8:59:00 PM

0

>> if name == 'exit'
>> exit
>> end
>
> Yes. But why didn't you try ? You'd have seen by yourself :)

Haha, lol. I will try the case thingy =D THX


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