Я не могу писать на Ruby кода, но я нашел этот рубин коды для вычисления контрольной суммы для AEMO НХAEMO Контрольной сумма рубин код
def checksum
summation = 0
@nmi.reverse.split(//).each_index do |i|
value = nmi[nmi.length - i - 1].ord
value *= 2 if i.even?
value = value.to_s.split(//).map(&:to_i).reduce(:+)
summation += value
end
checksum = (10 - (summation % 10)) % 10
checksum
end
Может кто-то пожалуйста, помогите мне объяснить, что это значит эта строка?
value = value.to_s.split(//).map(&:to_i).reduce(:+)
Я пытаюсь преобразовать код, указанный выше, в VBA для Excel.
Для входа "4103738516" даст вам 8 "4102030716" ==> 2 "QFFF0000LV" ==> 7
в странице 40 этого документа содержит код JavaScript, чтобы вычислить его, но я могу Не понимаю код.
https://www.aemo.com.au/-/media/Files/PDF/0610-0008-pdf.pdf
Спасибо
Спасибо Jagdeep :) –