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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008
  • TouchePro

    TouchePro

    27 EYLÜL 2007