Ruby:没有救援的其他方面毫无用处

我是ruby的新手。 我正在尝试编写一个apache error.log监视器。 它主要完成了,但我收到了警告:否则没有救援就没用了。 我无法弄清楚我做错了什么。 Ruby要我使用’除非’吗?

class ErrorMonitor @@previous_size=0 @@counter=0 def initialize() end def process if @@counter > 0 @new_size= File.stat('/var/log/apache2/error.log').size if @new_size > @@previous_size for i in @@previous_size..@new_size - @@previous_size print IO.readlines("/var/log/apache2/error.log")[i] end @@previous_size = @new_size end end else @@previous_size= File.stat('/var/log/apache2/error.log').size @@counter=1; end # <- this line is where the warning points to end # main execution em = ErrorMonitor.new() while true em.process sleep 10 end 

 if condition # … else # … end 

 if condition # … end else # … end 

看起来else块不是if语句的一部分。 if @@counter > 0为假,您是否希望它提供替代路径,我是否正确? 如果是这样,摆脱其他地方上方的end ,例如:

 if @@Counter > 0 # ... processing ... else # ... alternative processing ... end