Ruby ruby - ftp 变量怎么传递紧急求解?

sunsonavaj · July 16, 2012 · Last by Sh4d0wBlade replied at October 26, 2016 · 3104 hits
require 'net/http'
 def exec_ftp
        log_ftp = File.open(File.dirname(__FILE__)+"/../log/ftp/#{time_to_simple_str}-receive.log", 'a+')
        source_file="gift_#{Time.now.strftime('%Y%m%d')}.txt"
        log_ftp.puts "start exec ftp get file #{Time.now.strftime('%Y%m%d')}"
        log_ftp.puts "file name is #{source_file}"
        ftp=Net::FTP.open('****') do |ftp|
                ftp.login('***', '***')
                ftp.chdir('incoming/')
               ** ftp.getbinaryfile(,)**
        end
        puts "ftp transer end"
        sync_data
        log_ftp.close
  end`

上面的 source_file 的变量名怎么传递

ftp.getbinaryfile(source_file)

btw,代码很挫,像 python 选手。

那就给个好点的学习 Demo 谢谢!

#2 楼 @sunsonavaj 缩进至少调整一下啊

require 'net/http'

def exec_ftp
  log_ftp = File.open(File.dirname(__FILE__) + "/../log/ftp/#{time_to_simple_str}-receive.log", 'a+')
  source_file = "gift_#{Time.now.strftime('%Y%m%d')}.txt"
  log_ftp.puts "start exec ftp get file #{Time.now.strftime('%Y%m%d')}"
  log_ftp.puts "file name is #{source_file}"
  ftp = Net::FTP.open('****') do |ftp|
    ftp.login('***', '***')
    ftp.chdir('incoming/')
    ** ftp.getbinaryfile(,)**
  end
  puts "ftp transer end"
  sync_data
  log_ftp.close
end

请问这个 Net::FTP 新创建一个对象并 open 时怎样指定端口号?官方文档里也没写

You need to Sign in before reply, if you don't have an account, please Sign up first.