SORU
9 EKİM 2013, ÇARŞAMBA


Değil't Dizin oluşturmak Ruby ile var

Aşağıdaki kod ile bir dizin oluşturmak için çalışıyorum:

Dir.mkdir("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")
    unless File.exists?("/Users/Luigi/Desktop/Survey_Final/Archived/Survey/test")  

Ancak, bu hata alıyorum:

Böyle bir dosya ya da - /directory Kullanıcıları/Luigi/Desktop/Survey_Final/Arşivlenmiş/Anket/test (:: Hata ENOENT)

Neden bu dizini Dir.mkdir yukarıda ifade tarafından oluşturulan, değil mi?

CEVAP
9 EKİM 2013, ÇARŞAMBA


Muhtemelen iç içe dizin oluşturmak için çalışıyoruz. foo yok varsayarak, no such file or directory hata alırsınız:

Dir.mkdir 'foo/bar'
# => Errno::ENOENT: No such file or directory - 'foo/bar'

İç içe dizin oluşturmak için bir kez, FileUtils ihtiyaç vardır:

require 'fileutils'
FileUtils::mkdir_p 'foo/bar'
# => ["foo/bar"]

FileUtils sistem çağrısı (@mu çok kısa yorum güncelleme) yapabilirsiniz kullanmak zorunda değilsiniz: . Edit2:

> system 'mkdir', '-p', 'foo/bar' # worse version: system 'mkdir -p "foo/bar"'
=> true

Ama bu gibi görünüyor (en azından benim için öyle) gibi kötü bir yaklaşım olarak kullanıyorsunuz harici 'aracı' için kullanılamaz bazı sistemlerde (gerçi ben pek tahmin sistemi olmadan mkdir ama kim bilir).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kndx

    kndx

    11 Mart 2006
  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006