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