0

我需要在 fo 变量中获取文件的路径,以便我可以将路径传递给 unzip_file 函数。我如何在这里获得路径?

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. 去查找那个类的文档

    谷歌搜索:红宝石文件

    返回Class: File ruby-doc.org=> www.ruby-doc.org/core/classes/File.html

  3. 看看方法。有一个叫path-> 看起来很有趣

如果我现在还没有找到答案

  1. 继续浏览一下 google/stack overflow
  2. 我真的找不到与我的问题相匹配的解决方案。是时候在这里提问了

大多数时候1..3应该可以得到你需要的东西。一旦你学会阅读文档,你就可以更快地做事。它只是试图克服刚开始时进入文档的难度。

于 2011-09-13T21:20:57.890 回答
0

您的fo块中的 应该是 a Tempfile,因此您可以使用以下path方法:

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 回答