<分区>
我试图理解以下代码中的特定行:
def roman_to_integer(roman_string)
prev = nil
roman_string.to_s.upcase.split(//).reverse.inject(0) do
|running_sum, digit|
if digit_value = DIGITS[digit]
if prev && prev > digit_value
running_sum -= digit_value
else
running_sum += digit_value
end
prev = digit_value
end
running_sum
end
end
有人可以帮我理解 if digit_value = DIGITS[digit] 这一行的意思吗?我们是否将散列中与键“DIGIT”对应的值分配给此处的 digit_value?