私はここで定義されているカタのローマ数字のコーディングに取り組んでいます。私はそれを終えて立ち往生していませんが、答えるのに助けが必要な質問があります。
ここに私の質問があります:
class Fixnum
NUMERALS = [
['V', 5], ['IV', 4], ['I', 1]
]
def to_roman
roman = ""
number = self
for key, value in NUMERALS
count, number = number.divmod(value)
roman << (key * count)
end
roman
end
end
私がdivmodを実行すると、5という数字が表示されます。
5.to_roman
それはVを返します。そしてそれは理にかなっています
5.divmod(5) => 1, 0
しかし、上記のこのコードはどのように同じことをしませんか
5.divmod(1) => 5, 0
キー(I)とカウント(5)を追加するだけなので、IIIIIではなくVをどのように返しますか。どういうわけか、IIIIIではなくVを正しく返しているのは明らかですが、そのロジックがどこにあるのかわかりません。どんな助けでも大歓迎です。ありがとう