[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Fwd: Please Forward: Ruby Quiz Submission

James Gray

5/2/2007 6:24:00 PM

Begin forwarded message:

> From: Kenneth Love <kenneth.love@skgadv.com>
> Date: May 2, 2007 1:17:38 PM CDT
> To: <submission@rubyquiz.com>
> Subject: Please Forward: Ruby Quiz Submission
>
> Thanks for this (relatively) simple Quiz. This is one of the first
> things
> I've every written in just plain Ruby (usually use Rails or Camping).
>
> #GET THE NUMBER FROM THE USER#
> puts "Please enter the card number:"
> @card_number = gets.strip
>
> #FIND CARD TYPE#
> case @card_number.to_s.length
> when 15
> if @card_number[0,2] == "34" || @card_number[0,2] == "37"
> @card_type = "American Express"
> else
> @card_type = "Unknown"
> end
> when 13
> if @card_number[0,1] == "4"
> @card_type = "Visa"
> else
> @card_type = "Unknown"
> end
> when 16
> if @card_number[0,4] == "6011"
> @card_type = "Discover"
> elsif @card_number[0,1] == "4"
> @card_type = "Visa"
> elsif
> (51..55).each do |n|
> if @card_number[0,2] == n.to_s
> @card_type="MasterCard"
> end
> end
> else
> @card_type = "Unknown"
> end
> else
> @card_type = "Unknown"
> end
>
> #PUT THE NUMBERS INTO AN ARRAY#
> @doubles = Array.new
> 0.step(@card_number.length.to_i,1) {|i| @doubles << @card_number[i,1]}
>
> #IF THE ARRAY IS EVEN, START WITH THE FIRST NUMBER, OTHERWISE START
> WITH THE
> SECOND#
> #DOUBLE THE APPROPRIATE NUMBERS#
> if (@doubles.length-1) % 2 == 0
> 0.step(@doubles.length-1, 2) { |i| @doubles[i]=@doubles[i].to_i*2}
> else
> 1.step(@doubles.length-1, 2) { |i| @doubles[i]=@doubles[i].to_i*2}
> end
>
> #ADD THE NUMBERS TOGETHER#
> @count = 0
> @doubles.each { |i| @count = @count + i.to_i }
>
> #DIVIDE BY 10 TO SEE IF THE NUMBER IS VALID, PRINT OUT VALID/
> INVALID AND THE
> CARD TYPE#
> if @count % 10 == 0 then puts "Valid #{@card_type}" else puts "Invalid
> #{@card_type}" end
>
> --
> Kenneth Love | Interactive Developer | SK+G
>
> 8912 Spanish Ridge Avenue
> Las Vegas, Nevada 89148
> T 702-478-4210
> skgadv.com
>