Ruby 编程里面的一个临界值问题

Python021

Ruby 编程里面的一个临界值问题,第1张

解答:ruby until执行条件为false才执行,意思是只要i比1000000小的话那么就会继续执行,到第十九次的时候,i等于2^19也就是524288,j等于19,此时条件依然为false,所以会继续循环条件的,这时候就得到你所说的那两个值了,然后再判断i与1000000,这时条件为true也就是中止执行了

在看Selenium源代码的时候, 发现了获取操作系统的更好方法

def os

@os ||= (

host_os = RbConfig::CONFIG['host_os']

case host_os

when /mswin|msys|mingw|cygwin|bccwin|wince|emc/

:windows

when /darwin|mac os/

:macosx

when /linux/

:linux

when /solaris|bsd/

:unix

else

raise Error::WebDriverError, "unknown os: #{host_os.inspect}"

end

)

end

之前用的方法是假定是windows, 如果不是的话根据异常处理来判断是否是Mac