Exiting in the middle of the program

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-forum.com/.

RTFM :slight_smile:

C:\>ri Kernel#exit

···

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

------------------------------------------------------------
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

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?

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-forum.com/.

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).

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 :slight_smile:

···

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

Yes,

if name == 'exit'
  exit
end

will get you an exit, or you can also put '' without the word exit and an empty entry will exit the program as well.

code:
if name = = ' '
    exit
end

*~Kay~*

Helgitomas Gislason wrote:

···

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

?

if name == 'exit'
exit
end

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

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

···

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