Prev: Issue during multiple calls to C embedded Ruby with dlopen
Next: Ruby equivalent for php openssl_pkey_get_public
From: Greg Willits on 8 Feb 2010 16:11 So, I was surprised to find out that Dir.mkdir will not create all folders in a path when more than just the last level does not exist. Example: Dir.mkdir('/f1/f2/f3') will not create /f3 when /f2 does not exist. I expected it to make both /f2 and /f3 to get the job done. I expected it because the language I used most previously did do that. After some googling I'm not finding any elegant solutions. Obviously I could split the path at / and iterate through each folder name in sequence with an Exists? and mkdir follow up if needed. Is that really the only option? To do this manually? Just curious. -- gw -- Posted via http://www.ruby-forum.com/.
From: Seebs on 8 Feb 2010 16:22 On 2010-02-08, Greg Willits <lists(a)gregwillits.ws> wrote: > So, I was surprised to find out that Dir.mkdir will not create all > folders in a path when more than just the last level does not exist. > Example: Dir.mkdir('/f1/f2/f3') will not create /f3 when /f2 does not > exist. I expected it to make both /f2 and /f3 to get the job done. I > expected it because the language I used most previously did do that. > > After some googling I'm not finding any elegant solutions. > > Obviously I could split the path at / and iterate through each folder > name in sequence with an Exists? and mkdir follow up if needed. > > Is that really the only option? To do this manually? %x{mkdir -p "#{dir}"} ? -s -- Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nospam(a)seebs.net http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
From: Greg Willits on 8 Feb 2010 16:18 Greg Willits wrote: > So, I was surprised to find out that Dir.mkdir will not create all > folders in a path when more than just the last level does not exist. > Example: Dir.mkdir('/f1/f2/f3') will not create /f3 when /f2 does not > exist. I expected it to make both /f2 and /f3 to get the job done. I > expected it because the language I used most previously did do that. > > After some googling I'm not finding any elegant solutions. > > Obviously I could split the path at / and iterate through each folder > name in sequence with an Exists? and mkdir follow up if needed. > > Is that really the only option? To do this manually? ARGH. FileUtils.mkdir_p() (never fails to find the answer right after posting) -- gw -- Posted via http://www.ruby-forum.com/.
From: Ben Bleything on 8 Feb 2010 16:26 On Mon, Feb 8, 2010 at 1:11 PM, Greg Willits <lists(a)gregwillits.ws> wrote: > So, I was surprised to find out that Dir.mkdir will not create all > folders in a path when more than just the last level does not exist. > Example: Dir.mkdir('/f1/f2/f3') will not create /f3 when /f2 does not > exist. I expected it to make both /f2 and /f3 to get the job done. I > expected it because the language I used most previously did do that. Dir.mkdir emulates the unix mkdir command, which behaves this way. It shouldn't be surprising. > After some googling I'm not finding any elegant solutions. Did you try ri? > Obviously I could split the path at / and iterate through each folder > name in sequence with an Exists? and mkdir follow up if needed. > > Is that really the only option? To do this manually? No. Look into FileUtils, specifically FileUtils.mkdir_p Ben
From: Intransition on 8 Feb 2010 16:38
On Feb 8, 4:18 pm, Greg Willits <li...(a)gregwillits.ws> wrote: > ARGH. FileUtils.mkdir_p() Yea, but set $VERBOSE = true and watch all the pretty warnings. Annoying. |