[問題] 請問File.size是不是有大小限制

看板Ruby作者 (柯南)時間17年前 (2007/05/16 19:49), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
環境: 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)

05/17 00:49, , 1F
如果這是 File.size 本身的問題…恐怕很難解決 :o
05/17 00:49, 1F

05/17 13:09, , 2F
File.size 會不會是 return fixnum?
05/17 13:09, 2F

05/19 13:10, , 3F
File.size有2GB的限制,加個 require 'win32/file' 試試
05/19 13:10, 3F

05/26 20:41, , 4F
感謝ebs 加上win32.file就可以嚕:D
05/26 20:41, 4F
文章代碼(AID): #16Ik_CDH (Ruby)