Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
base = 10 places = 4 max = base ** (places * 2) counts = [0] * (places + 1) (1..1000000).each do index = rand(max) permutation = "%0#{places * 2}d" % index.to_s(base) original = (0...places).map { |i| permutation[i].chr } guess = (places...(places * 2)).map { |i| permutation[i].chr } matches = 0 guess.each do |g| (0...places).each do |i| if g == original[i] original[i] = nil matches += 1 break end end end counts[matches] += 1 end p counts # => [195649, 456019, 292866, 53717, 1749] $ irb >> (456019+2*292866+3*53717+4*1749)/(195649+456019+292866+53717+1749).to_f => 1.209898
This paste will be private.
From the Design Piracy series on my blog: