有人可以向我解释一下" n = self"和罗马<<字母*(n /值)吗?
def check
n = self
check = ""
ROMAN_NUMBERS.each do |value, letter|
roman << letter*(n / value)
n = n % value
end
return check
end
答案 0 :(得分:1)
n = self
将n
设置为调用check
方法的对象(即当前上下文)
roman << letter*(n / value)
重复letter
次(n /值)次,然后将其添加到roman
。
例如,如果罗马是&#34; a&#34;,letter
是&#34; b&#34;,n/value
是3,
roman << letter*(n/value)
roman << letter*(3)
roman << "b"*3
roman << "bbb"
"a" << "bbb"
"abbb"
你得到&#34; abbb&#34;