0

unzip_file 関数にパスを渡すことができるように、fo 変数でファイルのパスを取得する必要があります。ここでパスを取得するにはどうすればよいですか?

url = 'http://www.dtniq.com/product/mktsymbols_v2.zip'
open(url, 'r') do |fo|
  puts "unzipfile "
  unzip_file(fo, "c:\\temp11\\")
end
4

2 に答える 2

3

それを行う方法に関しては、私はこれを行います:

  1. 扱っているオブジェクトのクラスを調べる

    ruby-1.9.2-p290 :001 > tmp_file = open('tmp.txt', 'r')
      => #<File:tmp.txt> 
    ruby-1.9.2-p290 :001 > tmp_file.class
      => File
    
  2. そのクラスのドキュメントを調べてください

    Google 検索 : ruby​​ ファイル

    Class: File ruby-doc.orgこれは=> www.ruby-doc.org/core/classes/File.htmlを返します

  3. メソッドを見てください。というものがありますpath-> 面白そうです

もし今までに答えが見つからなかったら

  1. 少しの間、google/stack オーバーフローを調べ続けます
  2. 私の問題に一致する解決策が本当に見つかりません。ここで質問する時間

ほとんどの1..3場合、必要なものが得られるはずです。ドキュメントを読むことを学ぶと、物事をより迅速に行うことができます。最初にドキュメントを読み始めるときの難しさを克服しようとしているだけです。

于 2011-09-13T21:20:57.890 に答える
0

メソッドを使用できるようfoに、ブロック内のは である必要があります。Tempfilepath

url = 'http://www.dtniq.com/product/mktsymbols_v2.zip'
open(url, 'r') do |fo|
    puts "unzipfile "
    unzip_file(fo.path, "c:\\temp11\\")
end
于 2011-09-13T21:05:47.170 に答える