基本上它是Rails代码,但这里是纯Ruby问题。
要知道 - @ test.source是一些String,可以包含' '
(空格)。目的是删除所有不必要的空间,这些空间首先会被删除。例如,%some word' '' '
应该离开%some word' '
,%another word' '' '' '
应该离开%another word' '
,依此类推。
for i in 0...@test.source.length
if @test.source[i] == ' '
i=i+1
while @test.source[i] == ' '
@test.source[0...i].chop
end
else
i+=1
end
end
由于某种原因,这个循环(显而易见'while')是无限的。为什么呢?
答案 0 :(得分:1)
您不会在while循环中递增i
,因此while循环将始终将指定的字符与' '
进行比较,而不会继续前进。
将其更改为:
<% while @test.source[i] == ' ' %>
<% @test.source[0...i].chop %>
<% i=i+1 %>
<% end %>
...但即便如此,您的代码仍然存在问题。这是读者阅读剩余问题的练习。 :)