How to sove the loaderror?

please run the following program in irb,you can get
1.in irb,you can see
wrong,/tmp/AACC
=> [#<Thread:0xb76f86c0 dead>, #<Thread:0xb76f865c dead>,
#<Thread:0xb76f7b6c dead>]
2.there are two files in /tmp
YHOO AACC
it is strange for me to save the code into /tmp/test.rb,and
pt@pt-laptop:~$ ruby /tmp/test.rb
ruby: No such file or directory – /tmp/test.rb (LoadError)
please do it ,you will get what i say
the code is:

require ‘rubygems’
require ‘net/http’
threads = []
str=%w(http://table.finance.yahoo.com/table.csv?s=ALP/N
http://table.finance.yahoo.com/table.csv?s=YHOO
http://table.finance.yahoo.com/table.csv?s=AACC)
for page_to_fetch in str
threads<<Thread.new(page_to_fetch) do |url|
@@myfile=“/tmp/”+url.split(“=”)[1].to_s
open(@@myfile,“w”) do |wfile|
info = net::HTTP.get_response(URI.parse(url)).body
wfile.puts info
end
end
end
threads.each {|thr|
begin
thr.join
rescue Errno::ENOENT=>e
puts “wrong,#{@@myfile}”
end
}

any advices appreciated.

sorry , it is
wrong,/tmp/ALP/N
not
wrong,/tmp/AACC

any advices appreciated.

(1) Don’t use class variables (@@myfile): the value will be shared
between all three threads, and they will stomp on each other. A local
variable (myfile) is what you want here.

(2) Do your error handling within the thread code, so you don’t need to
mess with @@myfile to get sensible error reports outside.

Or simply set:

Thread.abort_on_exception = true

at the top of your file. This will let you see the next problem:

(3) change net::HTTP to Net::HTTP

This creates /tmp/ALP/n with a 404 error in it. This seems reasonable to
me, since if I go to
http://table.finance.yahoo.com/table.csv?s=ALP/N
in a normal web browser, I also get a 404.

So the next thing you need to do is to work out what URLs you actually
want to download. The command-line tool “curl” is helpful for this, and
of course, reading the documentation for the API you’re trying to use.