0
我有以下功能:無不能強迫Fixnum對象
def valid_credit_card?(number)
digits = number.scan(/./).map(&:to_i)
check = digits.pop
sum = digits.reverse.each_slice(2).map do |x, y|
[(x * 2).divmod(10), y]
end.flatten.inject(:+)
(10 - sum % 10) == check
end
但由於某些原因,我不斷收到以下錯誤信息: nil can't be coerced into Fixnum
出於某種原因,我不能弄清楚爲什麼錯誤被拋出。任何想法,爲什麼這可能會發生?
啊,這很有道理!我將如何去解決這個問題? – dennismonsewicz
如果數字不等於16,則返回false的問題意味着並非所有信用卡都將通過Luhn算法(這是上述功能應該執行的操作) – dennismonsewicz
我解決了這個問題:https:// github.com/joeljunstrom/ruby_luhn – dennismonsewicz