作者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