ruby编码中碰到的一个诡异问题

发现用if进行多重嵌套时,总是报错,"syntax error, unexpected $end, expecting kEND ",但使用case后,正常通过,匪夷所思!


 原编码如下:
    while i <2 
       userSheet.Cells(i,2).Value="111";
       userSheet.Cells(i,3).Value="aaa";
       userSheet.Cells(i,4).Value="group";
       userSheet.Cells(i,5).Value="kk";
       userSheet.Cells(i,6).Value="女";
       userSheet.Cells(i,7).Value="aaa@163.net";
       userSheet.Cells(i,8).Value="身份证";
       userSheet.Cells(i,9).Value="123";
       userSheet.Cells(i,10).Value="小学";
       userSheet.Cells(i,11).Value="12345";
       userSheet.Cells(i,12).Value="123456";
       userSheet.Cells(i,13).Value="火星";
       userSheet.Cells(i,14).Value="12345678";
       j=j+1;
       i=i+1;       
        if i<10 then
         userSheet.Cells(i,1).Value="test"+"0000000"+j.to_s;
        else if i<100 then
          userSheet.Cells(i,1).Value="test"+"000000"+j.to_s;
        else if i<1000 then
           userSheet.Cells(i,1).Value="test"+"00000"+j.to_s;
        else i<10000
          userSheet.Cells(i,1).Value="test"+"0000"+j.to_s;
        end       
     end   

      

通过后的编码:
while i <22
    
       userSheet.Cells(i,2).Value="111";
       userSheet.Cells(i,3).Value="aaa";
       userSheet.Cells(i,4).Value="zqd-group";
       userSheet.Cells(i,5).Value="tt";
       userSheet.Cells(i,6).Value="女";
       userSheet.Cells(i,7).Value="aaa@163.net";
       userSheet.Cells(i,8).Value="身份证";
       userSheet.Cells(i,9).Value="123";
       userSheet.Cells(i,10).Value="小学";
       userSheet.Cells(i,11).Value="12345";
       userSheet.Cells(i,12).Value="123456";
       userSheet.Cells(i,13).Value="火星";
       userSheet.Cells(i,14).Value="12345678";
       j=j+1;
       i=i+1;
             case i
         when 1..9
            userSheet.Cells(i,1).Value="test"+"0000000"+j.to_s;
         when 10..99
          userSheet.Cells(i,1).Value="test"+"000000"+j.to_s;
         when 100..999
           userSheet.Cells(i,1).Value="test"+"00000"+j.to_s;
         else 1000..1100
          userSheet.Cells(i,1).Value="test"+"0000"+j.to_s;      
       end
     end  
posted @ 2008-06-26 10:44  slaughter  阅读(729)  评论(1编辑  收藏  举报