Guest User

Untitled

a guest
May 27th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. class Comp
  2. def initialize ext
  3. @file_ext = ext
  4. end
  5. def compare n
  6. len = Dir::glob(self.file_ext).length
  7. if n+1 == len || len == 0
  8. return 0
  9. end
  10. src = open(Dir::glob(self.file_ext)[n])
  11. Dir::glob(self.file_ext)[n+1..len].each do |f|
  12. begin
  13. src2 = open(f)
  14. if src.stat.size == src2.stat.size
  15. begin
  16. if src.read == src2.read
  17. File::delete(f)
  18. if n == 0
  19. self.compare 0
  20. else
  21. self.compare n - 1
  22. end
  23. end
  24. rescue
  25. end
  26. end
  27. rescue
  28. end
  29. end
  30. self.compare n + 1
  31. end
  32.  
  33. attr_reader :file_ext
  34. end
  35. class RecurseDir
  36. def initialize(path)
  37. @dir = Array::new #後でたどるディレクトリ
  38. Dir::foreach(path) do |s|
  39. if File::ftype(s) == "directory"
  40. if s != ".."
  41. self.dir << File::expand_path(s)
  42. end
  43. end
  44. end
  45. end
  46. def recurse_compare
  47. self.dir.each do |f|
  48. p f + "/*"
  49. a = Comp::new f + "/*"
  50. a.compare 0
  51. end
  52. end
  53. attr_reader :dir
  54. end
  55. a = RecurseDir.new "./"
  56. a.recurse_compare
Add Comment
Please, Sign In to add comment