J'ai rencontré un problème en raison du téléchargement dans un fichier local qui l'a verrouillé jusqu'à ce que j'écrase le script ruby. Sur une intuition, j'ai changé la forme de l'appel et maintenant il ne verrouille pas le fichier. Est-ce que quelqu'un peut me dire pourquoi le deuxième formulaire ci-dessous ne verrouille pas le fichier, mais le premier fait?Verrouillage du fichier open-uri Ruby
Cette forme verrouille le fichier local:
open(ver_local_zip, "w+").write(open(remote_zip, :proxy=>ftp_proxy).read)
Ce formulaire ne verrouille pas le fichier:
open(ver_local_zip, "w+") { |f| f.write(open(remote_zip, :proxy=>ftp_proxy).read) }
Merci.
Ce que je soupçonnais. Merci de répondre. – digitalsanctum
Notez que vous pouvez (et devez) libérer le handle retourné manuellement lors de l'utilisation de la première méthode plutôt que d'attendre le GC. – Eli