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

  • BaaaStuds's channel

    BaaaStuds's

    10 Mart 2009
  • chrmoe

    chrmoe

    7 Kasım 2006
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014