From: Pen Ttt on 11 Aug 2010 23:05 probem1: the following program can only run in irb console,it can't run with command : ruby /home/test.rb,why? require 'rubygems' require 'net/http' threads = [] open("/home/pt/test/data","a+") do |wfile| str=%w(http://table.finance.yahoo.com/table.csv?s=IBM http://table.finance.yahoo.com/table.csv?s=YHOO http://table.finance.yahoo.com/table.csv?s=AACC) for page_to_fetch in str Thread.new(page_to_fetch) do |url| info = Net::HTTP.get_response(URI.parse(url)).body puts info end end threads.each {|thr| thr.join} end problem2: i want to write output into my file,just change "puts info" into "wfile.puts info",it can not run. require 'rubygems' require 'net/http' threads = [] open("/home/pt/test/data","a+") do |wfile| str=%w(http://table.finance.yahoo.com/table.csv?s=IBM http://table.finance.yahoo.com/table.csv?s=YHOO http://table.finance.yahoo.com/table.csv?s=AACC) for page_to_fetch in str Thread.new(page_to_fetch) do |url| info = Net::HTTP.get_response(URI.parse(url)).body wfile.puts info end end threads.each {|thr| thr.join} end -- Posted via http://www.ruby-forum.com/.
From: Paul Harrington on 11 Aug 2010 23:09 Pen Ttt wrote: > probem1: > the following program can only run in irb console,it can't run with > command : > ruby /home/test.rb,why? > require 'rubygems' > require 'net/http' > threads = [] > open("/home/pt/test/data","a+") do |wfile| > str=%w(http://table.finance.yahoo.com/table.csv?s=IBM > http://table.finance.yahoo.com/table.csv?s=YHOO > http://table.finance.yahoo.com/table.csv?s=AACC) > for page_to_fetch in str > Thread.new(page_to_fetch) do |url| > info = Net::HTTP.get_response(URI.parse(url)).body > puts info > end > end > threads.each {|thr| thr.join} > end threads is still an empty array. Try adding each thread to threads as you create it. -- Posted via http://www.ruby-forum.com/.
|
Pages: 1 Prev: xslt param with libxslt ....errr! Next: does jason convert to hash? |