Begin forwarded message: > From: Paolo Bonzini <bonzini / gnu.org> > Date: September 12, 2007 7:31:31 AM CDT > To: submission / rubyquiz.com > Subject: Please Forward: Ruby Quiz Submission > > This is a solution for rubyquiz #122 (credit card). > > class String > def luhn > (split(//).inject([0,0]) { > |(s1,s2), ch| c=ch.to_i; [s2 + c, s1 + (c*2%10) + (c*2/10)] > }) [0] % 10 == 0 > end > end > > mapn is probably more elegant, but this one does not use reverse, > which is pretty cool IMO. :-) > > Paolo