# File.readlines problem

**URL:** <https://www.ruby-forum.com/t/file-readlines-problem/193281>\
**Category:** Ruby\
**Created:** [August 14, 2010, 5:39pm UTC](https://www.ruby-forum.com/t/file-readlines-problem/193281 "2010-08-14T17:39:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 14, 2010, 5:39pm UTC](https://www.ruby-forum.com/t/file-readlines-problem/193281/1 "2010-08-14T17:39:51Z")

</div>

please run the following program in your computer,the output is  
2921  
3262  
-1  
why i can not get:  
namefile.puts urlfile.readlines[0…2921]  
namefile.puts urlfile.readlines[1…3262]  
namefile.puts urlfile.readlines[1…-1]

thinks for telling me the reason.

class Initialcname  
def self.down()  
require ‘rubygems’  
require ‘open-uri’  
cname=[‘nasdaq’,‘nyse’,‘amex’]  
cname=cname.map{|item|  
item=“[http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=“+item+”&render=download](http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=%22+item+%22&render=download)”}  
open(“/tmp/companyname”,“a+”) {|namefile|  
cname.each.with\_index{|url,idx|  
open(url){|urlfile|  
a=0  
while line=urlfile.gets  
line=line.chomp  
if /\<html\>/ =~ line then  
x=urlfile.lineno-2  
a=1  
else  
end  
end  
if a==0 then x=-1 end  
if idx==0 then  
puts x  
namefile.puts urlfile.readlines[0…x]  
else  
puts x  
namefile.puts urlfile.readlines[1…x]  
end  
}  
}  
}  
end  
end  
Initialcname.down()

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 15, 2010, 8:53am UTC](https://www.ruby-forum.com/t/file-readlines-problem/193281/2 "2010-08-15T08:53:46Z")

</div>

i solve it myself,add :  
urlfile.rewind  
it is ok now
