[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Re: Stepping out on a Limb - some very ugly code

Sebastian Hungerecker

2/28/2007 7:31:00 PM

Am Mittwoch, 28. Februar 2007 18:56:25 schrieb Samantha:
> puts("Please enter your street number: ")
> street_number = gets.chomp!
> puts("Please enter your street name: ")
> street_name = gets.chomp.capitalize!
> puts("Please enter your city name: ")
> city_name = gets.chomp.capitalize!
> puts("Please enter your state: ")
> state_name = gets.chomp.upcase!
> puts("Please enter your zip code: ")
> zip_code = gets.chomp!

How about something like this instead?

data=Hash.new
["street number","street name","city name","state","zip code"].each do |i|
puts("Please enter your #{i}: ")
data[i]=gets.chomp
end

HTH,
Sebastian
--
NP: Anathema - Suicide Veil
Ist so, weil ist so
Bleibt so, weil war so

2 Answers

dave rose

2/28/2007 7:52:00 PM

0

Samantha wrote:
>>
>>
>
>
> --
> Samantha
>
> http://www.bab...
>
> "Beware when the great God lets loose a thinker on this planet. Then all
> things are at risk."
> --Ralph Waldo Emerson
thanx sammantha for asking....i've printed these suggestions and will
put into use myself....dave

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

Brian

3/1/2007 8:41:00 AM

0

Well, there's always more than one way to do anything,
but here's one late night hack :)

#!/usr/bin/env ruby

class ResumeBuilder
def initialize
@data = {}
@fields = ['First Name',
'Last Name' ,
'Address' ,
'City' ,
'State' ,
'Zip' ]
end

def prompt
@fields.each do |field|
val = @data[field]
print "Please enter your #{field}#{(' (' + val + ')') if val}:"
val = gets.chomp
@data[field] = val if val != ''
end
end

def confirm?
puts "You entered:"
@fields.each do |field|
puts field + ': ' + @data[field].to_s
end
print "Is this correct? (Y/n)"
gets.chomp == 'Y'
end
end

resume = ResumeBuilder.new
resume.prompt
resume.prompt until resume.confirm?

I didn't bother with the formatting, but you get the idea.
You might also look at using a Struct.

-Brian

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