作者cire (柯南)
看板Ruby
标题[问题] 请问File.size是不是有大小限制
时间Wed May 16 19:49:28 2007
环境:
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
状况:
最近在看Ruby Programming这本书的Ch16,其中有范例是做出类似unix的
du function(计算folder大小),可是我发现如果里面的档案太大就会出现负数。
(估计是2G),请问这个问题要怎麽解决呢?谢谢各位大大。
附录: 此为程式码:
require "find"
def du(path)
result = 0
Find.find(path){|f|
if File.file?(f)
result += File.size(f)
end
}
printf("%d %s\n", result, path)
return result
end
du(ARGV[0] || ".")
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.72.1
※ 编辑: cire 来自: 140.113.72.1 (05/16 19:49)
1F:推 godfat:如果这是 File.size 本身的问题…恐怕很难解决 :o 05/17 00:49
2F:推 adrianshum:File.size 会不会是 return fixnum? 05/17 13:09
3F:→ ebs:File.size有2GB的限制,加个 require 'win32/file' 试试 05/19 13:10
4F:→ cire:感谢ebs 加上win32.file就可以噜:D 05/26 20:41