罗马数字 - 解释

时间:2016-05-17 09:08:08

标签: ruby

有人可以向我解释一下" 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

1 个答案:

答案 0 :(得分:1)

n = selfn设置为调用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;