我遇到了一个问题,即下载到本地文件会锁定它,直到我杀死了 ruby 脚本。凭直觉,我改变了调用的形式,现在它没有锁定文件。
有人能告诉我为什么下面的第二种形式不锁定文件,但第一种形式可以吗?
此表单锁定本地文件:
open(ver_local_zip, "w+").write(open(remote_zip, :proxy=>ftp_proxy).read)
此表单不会锁定文件:
open(ver_local_zip, "w+") { |f| f.write(open(remote_zip, :proxy=>ftp_proxy).read) }
谢谢。