Ruby:将哈希拆分为文件夹名
如何利用Ruby:将哈希拆分为文件夹名,ruby,Ruby,如何利用 f6f6c3408e67bf6473d65de172f0e5da.jpg 文件名 文件夹的结构f6/f6/c3/40/8e/67/bf/64/73/d6/5d/e1/72/f0/e5/da.jpg为了避免文件系统过载,应该这样做: 'f6f6c3408e67bf6473d65de172f0e5da.jpg'.sub /(.*)(\..*)/ do filename, extension = $1, $2 filename.scan(/../).join('/')
f6f6c3408e67bf6473d65de172f0e5da.jpg
文件名
文件夹的结构f6/f6/c3/40/8e/67/bf/64/73/d6/5d/e1/72/f0/e5/da.jpg
为了避免文件系统过载,应该这样做:
'f6f6c3408e67bf6473d65de172f0e5da.jpg'.sub /(.*)(\..*)/ do
filename, extension = $1, $2
filename.scan(/../).join('/') + extension
end
你为什么不按照像
git
这样的系统做,只提取前两个字符来创建一个目录并将文件放入其中呢。为此创建这么多目录似乎毫无意义(也可能会影响性能),如果它适用于git
等系统以避免文件系统效率低下,那么它也应该适用于您。当然,如果您遵循这种方法,实现也将非常简单
directory,filename = filename[0..1],filename[2..-1]
使用这些路径,您可以使更多的文件/系统过载。:)请记住任何潜在的性能问题。如果这篇文章很重要,可以考虑一些不涉及正则表达式和临时数组的其他解决方案。