使用if / elsif条件的方法中的语法错误,意外的keyword_end

时间:2015-08-20 09:53:46

标签: ruby

为什么此代码有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

"

1 个答案:

答案 0 :(得分:0)

您不需要使用elsif关闭每个end(您在条件if $dir=="N"上执行此操作),它们只是链接而且应该只有一个end }匹配起始if