ISBN13 check digit: Difference between revisions
→{{header|Ruby}}: replaced by more idiomatic Ruby
(Add Fortran implementation.) |
(→{{header|Ruby}}: replaced by more idiomatic Ruby) |
||
Line 1,602:
=={{header|Ruby}}==
cleaned = str.delete("^0-9").chars
▲<lang ruby>def checkISBN13(code)
return false unless cleaned.size == 13
cleaned.each_slice(2).sum{|d1, d2| d1.to_i + 3*d2.to_i }.remainder(10) == 0
end
isbns = ["978-1734314502", "978-1734314509", "978-1788399081", "978-1788399083"]
isbns.each{|isbn| puts "#{isbn}: #{validISBN13?(isbn)}" }
</lang>{{out}}
<pre>true▼
<pre>978-1734314502: true
978-1734314509: false
978-1788399081: true
978-1788399083: false
=={{header|Rust}}==
|