Urara-Blog/node_modules/.pnpm-store/v3/files/8a/715663a63dd4ec012cdc838daaed9090940be03910a07bc3afcf4e37db0b9326f3aa603f633424dd5bfd4e93fefdfdaf12de228ab7ea6d8bf06f699511f191
2022-08-14 01:14:53 +08:00

21 lines
No EOL
541 B
Text

class LotteryTicket
NUMERIC_RANGE = 1..25
attr_reader :picks, :purchased
def initialize( *picks )
if picks.length != 3
raise ArgumentError, "three numbers must be picked"
elsif picks.uniq.length != 3
raise ArgumentError, "the three picks must be different numbers"
elsif picks.detect { |p| not NUMERIC_RANGE === p }
raise ArgumentError, "the three picks must be numbers between 1 and 25"
end
@picks = picks
@purchased = Time.now
end
end
# From https://poignant.guide/book/chapter-5.html