Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
simple ruby program problem
sig_UVA
1/22/2009 11:40:00 PM
So I have been reading Chris Pine's book, "Learn to Program". I am
working through the examples and the "a Few Things to Try" sections at
the end of each chapter. I having a problem with one of them.
Here is the chapter:
http://pine.fm/LearnToProgram/?...
Basically, he wants you to write the psych question program w/o using
the variables good_answer and answer. I tried to do this in the code
below, however, when I run it in TextMate and the gets asks me for input
before puts lists the question. In other words, the first thing that
happens after I run it is the "Script is requesting input" message box.
I will note this: every now and then, the program will work properly,
but this is usually after I run the program for the first after opening
Textmate for the first time.
Thanks for your help!!
# begin code here
def ask question
reply = ''
while (reply != 'yes' || reply != 'no')
puts question
reply = gets.chomp.downcase
if reply == 'yes'
return true
elsif reply == 'no'
return false
end
puts 'Please answer yes or no!'
end
end
puts
ask 'do you like apples?'
wets_bed = ask 'do you wet the bed?'
puts
puts wets_bed
# end of code
--
Posted via
http://www.ruby-...
.
4 Answers
Rob Biedenharn
1/23/2009
0
On Jan 22, 2009, at 6:40 PM, Hunter Walker wrote:
> while (reply != 'yes' || reply != 'no')
Well, this is effectively and infinite loop becasue reply will always
be != to one or the other and the whole expression will be true.
Since you have a return statement in a couple places, this might not
be a problem for this program.
-Rob
Rob Biedenharn
http://agileconsult...
Rob@AgileConsultingLLC.com
sig_UVA
1/23/2009 12:57:00 AM
0
Rob Biedenharn wrote:
> On Jan 22, 2009, at 6:40 PM, Hunter Walker wrote:
>
>> while (reply != 'yes' || reply != 'no')
>
>
> Well, this is effectively and infinite loop becasue reply will always
> be != to one or the other and the whole expression will be true.
>
> Since you have a return statement in a couple places, this might not
> be a problem for this program.
>
> -Rob
>
> Rob Biedenharn
http://agileconsult...
> Rob@AgileConsultingLLC.com
Yeah, good point. You are right though, the return statement does stop
the loop. See attached screen shot for what happens....
Attachments:
http://www.ruby-...
attachment/319...
--
Posted via
http://www.ruby-...
.
Rob Biedenharn
1/23/2009 1:13:00 AM
0
On Jan 22, 2009, at 7:57 PM, Hunter Walker wrote:
> Rob Biedenharn wrote:
>> On Jan 22, 2009, at 6:40 PM, Hunter Walker wrote:
>>
>>> while (reply != 'yes' || reply != 'no')
>>
>>
>> Well, this is effectively and infinite loop becasue reply will always
>> be != to one or the other and the whole expression will be true.
>>
>> Since you have a return statement in a couple places, this might not
>> be a problem for this program.
>>
>> -Rob
>>
>> Rob Biedenharn
http://agileconsult...
>> Rob@AgileConsultingLLC.com
>
> Yeah, good point. You are right though, the return statement does
> stop
> the loop. See attached screen shot for what happens....
>
> Attachments:
>
http://www.ruby-forum.com/attachment/319...
Try running directly from an xterm (Terminal) window. I suspect that
running inside TextMate is the cause of the trouble (and that your
script wants input).
-Rob
Rob Biedenharn
http://agileconsult...
Rob@AgileConsultingLLC.com
sig_UVA
1/23/2009 8:00:00 PM
0
Rob Biedenharn wrote:
> On Jan 22, 2009, at 7:57 PM, Hunter Walker wrote:
>
>>> be a problem for this program.
>> Attachments:
>>
http://www.ruby-...
attachment/319...
>
> Try running directly from an xterm (Terminal) window. I suspect that
> running inside TextMate is the cause of the trouble (and that your
> script wants input).
>
> -Rob
>
> Rob Biedenharn
http://agileconsult...
> Rob@AgileConsultingLLC.com
You are correct, Rob. Works every time in xterm. Thank you for the
help.
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
simple ruby program problem
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password