Skip to content

Instantly share code, notes, and snippets.

@adcousin
adcousin / luhn_checksum.rb
Created November 4, 2020 08:13 — forked from henrik/luhn_checksum.rb
Luhn checksum/check digit generation in Ruby.
class Luhn
def self.checksum(number)
digits = number.to_s.reverse.scan(/\d/).map { |x| x.to_i }
digits = digits.each_with_index.map { |d, i|
d *= 2 if i.even?
d > 9 ? d - 9 : d
}
sum = digits.inject(0) { |m, x| m + x }
mod = 10 - sum % 10
mod==10 ? 0 : mod
@adcousin
adcousin / sudoku.rb
Created November 1, 2020 17:47 — forked from gregnavis/sudoku.rb
A simple Sudoku solver in Ruby.
class Sudoku
SIZE = 9
NUMBERS = (1..9).to_a
def initialize
@board = Array.new(SIZE) { Array.new(SIZE, nil) }
end
def [](x, y)
@board[y][x]