我想确保输入的罗马数字是有效的。我的策略是从第一个或第二个字符开始,如果字符串之后的任何内容都无效,那么我告诉他们重新输入他们的号码。如果我这样做,我需要为D,CD,C,XC,L,XL,X,IX,V,IV和I.创造一个条件。我写下这种条件语句的最佳方式是粘贴的方式,还是有更漂亮的方法?if语句的条件太多?
string = "CMCMD"
integer_num = 0
if string[0..1] = "CM"
if string[2..-1].include? "M" || string[2..-1].include? "CD" || string[2..-1].include? "D" || string[2..-1].include "CM" || string[2..-1].include? "C"
puts "This is invalid. Please enter your roman numeral correctly."
else
add 900 to integer_num and slice CM off the beginning of the string.
end
end
我看了看文档,并在S.O几件事情像this one。
谢谢!那个好漂亮。将在10分钟内接受答案。 – user3138341