【发布时间】:2014-08-31 04:03:51
【问题描述】:
谁能解释一下
具体来说,“
return ( letter * (self / value))
class Fixnum
ROMAN_NUMBERS = {
1000 => "M",
900 => "CM",
500 => "D",
400 => "CD",
100 => "C",
90 => "XC",
50 => "L",
40 => "XL",
10 => "X",
9 => "IX",
5 => "V",
4 => "IV",
1 => "I",
}
def roman
return '' if self == 0
ROMAN_NUMBERS.each do |value, letter|
return ( letter * (self / value)) << (self % value).roman if value <= self
end
return (self % value).roman
end
end
class Fixnum
ROMAN_NUMBERS = {
1000 => "M",
900 => "CM",
500 => "D",
400 => "CD",
100 => "C",
90 => "XC",
50 => "L",
40 => "XL",
10 => "X",
9 => "IX",
5 => "V",
4 => "IV",
1 => "I",
}
def roman
return '' if self == 0
ROMAN_NUMBERS.each do |value, letter|
return ( letter * (self / value)) << (self % value).roman if value <= self
end
return (self % value).roman
end
end
我只见过“
【问题讨论】:
-
运行时会发生什么?
-
@limelights 它返回给定
fixnum的罗马值:123.roman返回CXXIII
标签: ruby