为什么此代码有class Mars_Rover
def numeric?
Float(self) != nil rescue false
end
puts "Enter the details"
response = gets("\t\n")
word=response.split(/\n/)
$i=1
for $i in 1..(word.length)
m=word[$i].split(//)
if m[0].numeric?
$x=Integer(m[0])
$y=Integer m[1]
$dir= m[2]
else
$k=0
for $k in 0..(m.length-1)
if $dir=="N"
if m[$k]=="L"
dir="W"
break
elsif m[$k]=="R"
dir="E"
break
else
y++
end
end
elsif $dir=="S"
if m[$k]=="L"
dir="E"
break
elsif m[$k]=="R"
dir="W"
break
else
y--
end
end
elsif $dir=="E"
if m[$k]=="L"
dir="N"
break
elsif m[$k]=="R"
dir="S"
break
else
x++
end
end
else
if m[$k]=="L"
dir="S"
break
elsif m[$k]=="R"
dir="N"
break
else
x--
end
end
end
end
end
end
?
"
答案 0 :(得分:0)
您不需要使用elsif
关闭每个end
(您在条件if $dir=="N"
上执行此操作),它们只是链接而且应该只有一个end
}匹配起始if