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

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • fireflame65

    fireflame65

    27 Mart 2007
  • MatheusDosGames

    MatheusDosGa

    28 Aralık 2011