请教请教一个问题 当计算到第二行的时候 f.lineno 是 2 line 是 second ((f.lineno == 1) || line.chomp =~ /eig/) 为假 ((f.lineno== 3) || line.chomp =~ /nin/) 为假 但是 lineno 是在 1..3 范围中所以打印了 second?
这个 ((f.lineno == 1) || line.chomp =~ /eig/)..((f.lineno== 3) || line.chomp =~ /nin/) 每次循环是怎么计算的。
我理解是 先计算第一个 ((f.lineno == 1) || line.chomp =~ /eig/) 这个结果是 true.那 if 判断就是真, 但是第二行 f.lineno 是 2 line 是 second ((f.lineno == 1) || line.chomp =~ /eig/)和((f.lineno== 3) || line.chomp =~ /nin/) 都是假啊。为什么会打印 second。
是不是前面我说的,但是 lineno 是在 1..3 范围中所以打印了 second?