⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 16 - checking a credit card checksum.rb

📁 O Reilly Ruby Cookbook source code
💻 RB
字号:
require 'rubygems'require 'creditcard''5276 4400 6542 1319'.creditcard?                  # => true'5276440065421313'.creditcard?                     # => false1276440065421319.creditcard?                       # => false#---5276440065421313.creditcard_type                   # => "mastercard"#---module CreditCard  def creditcard?    numbers = self.to_s.gsub(/[^\d]+/, '').split(//)        checksum = 0    0.upto numbers.length do |i|      weight = numbers[-1*(i+2)].to_i * (2 - (i%2))      checksum += weight % 9    end        return numbers[-1].to_i == 10 - checksum % 10  endendclass String  include CreditCardendclass Integer  include CreditCardend'5276 4400 6542 1319'.creditcard?                  # => true#---numbers = '5276 4400 6542 1319'.gsub(/[^\d]+/, '').split(//)# => 	["5", "2", "7", "6", "4", "4", "0", "0", # =>     "6", "5", "4", "2", "1", "3", "1", "9"]#---checksum = 00.upto numbers.length do |i|  weight = numbers[-1*(i+2)].to_i * (2 - (i%2))  checksum += weight % 9endchecksum                                            # => 51#---numbers[-1].to_i == 10 - checksum % 10             # => true#---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -