Currently I'm using this code to output a list of files to a .rhtml
page:
<%
Dir.foreach("/") do |file|
next if File.fnmatch('*.*', file)
puts '<a href="file">' + file + '</a>'
end
%>
This removes files from the list output such as 'photo.jpg'.
But it leaves the files with names like '.htaccess', ',' and '..'.
I could create more of the 'next' statements explicitly for those file
and directory names but wondering if there's a more elegant way to say
don't output files with a '.' in their names.
···
--
Posted via http://www.ruby-forum.com/.
Under UNIX, a * never matches a . at the beginning of a filename, and *.*
also never matches this.
add another rule
next if File.fnmatch('.*',file)
and you should be fine.
···
On Mon, 13 Aug 2007 07:16:49 +0900, Sfdesigner Sfdesigner wrote:
Currently I'm using this code to output a list of files to a .rhtml
page:
<%
Dir.foreach("/") do |file|
next if File.fnmatch('*.*', file)
puts '<a href="file">' + file + '</a>'
end
%>
This removes files from the list output such as 'photo.jpg'.
But it leaves the files with names like '.htaccess', ',' and '..'.
I could create more of the 'next' statements explicitly for those file
and directory names but wondering if there's a more elegant way to say
don't output files with a '.' in their names.
--
Ken Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/
Hi,
At Mon, 13 Aug 2007 07:16:49 +0900,
Sfdesigner Sfdesigner wrote in [ruby-talk:264328]:
Currently I'm using this code to output a list of files to a .rhtml
page:
<%
Dir.foreach("/") do |file|
next if File.fnmatch('*.*', file)
puts '<a href="file">' + file + '</a>'
end
%>
This removes files from the list output such as 'photo.jpg'.
But it leaves the files with names like '.htaccess', ',' and '..'.
File.fnmatch('*.*', file, File::FNM_DOTMATCH)
···
--
Nobu Nakada
perhaps:
next if file.include?('.')
Though Robert's solution does the same thing.
HTH,
Chris
···
On Aug 12, 4:16 pm, Sfdesigner Sfdesigner <dan...@seniorartdirector.com> wrote:
Currently I'm using this code to output a list of files to a .rhtml
page:
<%
Dir.foreach("/") do |file|
next if File.fnmatch('*.*', file)
puts '<a href="file">' + file + '</a>'
end
%>
This removes files from the list output such as 'photo.jpg'.
But it leaves the files with names like '.htaccess', ',' and '..'.
I could create more of the 'next' statements explicitly for those file
and directory names but wondering if there's a more elegant way to say
don't output files with a '.' in their names.
--
Posted viahttp://www.ruby-forum.com/.