From: ngoc Date: 2005-08-09T07:16:09+09:00 Subject: what is wrong and how to write it shorter? #!/usr/bin/ruby require 'net/http' h = Net::HTTP::new('www.rubyist.net') (1..9).each do |pages| pg = '/~matz/slides/oscon2005/mgp0000' + pages + '.txt' resp, data = h.get(pg) print data, "\n" puts 10 * '-' end (10..59).each do |pages_2| pg = '/~matz/slides/oscon2005/mgp000' + pages_2 + '.txt' resp, data = h.get(pg) print data, "\n" puts 10 * '-' end [message] block_closure.rb:5:in `+': failed to convert Fixnum into String (TypeError) from block_closure.rb:5 from block_closure.rb:4:in `each' from block_closure.rb:4 ***************************************************************** An attempt to write it shorter #!/usr/bin/ruby require 'net/http' h = Net::HTTP::new('www.rubyist.net') h.get('/~matz/slides/oscon2005/') { |pages| print pages, "\n" puts 10 * '-' } in theory, above code merge html and text. How to pick up text only file? [message] block_closure.rb:24:in `*': String can't be coerced into Fixnum (TypeError) from block_closure.rb:24 from block_closure.rb:22:in `call_block' from /usr/lib/ruby/1.6/net/protocol.rb:342:in `<<' from /usr/lib/ruby/1.6/net/protocol.rb:622:in `rbuf_moveto' from /usr/lib/ruby/1.6/net/protocol.rb:516:in `read' from /usr/lib/ruby/1.6/net/http.rb:1272:in `read_body_0' from /usr/lib/ruby/1.6/net/http.rb:1247:in `read_body' from /usr/lib/ruby/1.6/net/http.rb:602:in `get' from /usr/lib/ruby/1.6/net/http.rb:601:in `request' from /usr/lib/ruby/1.6/net/http.rb:668:in `request' from /usr/lib/ruby/1.6/net/http.rb:667:in `start' from /usr/lib/ruby/1.6/net/http.rb:667:in `request' from /usr/lib/ruby/1.6/net/http.rb:601:in `get' from block_closure.rb:22