Guest User

Untitled

a guest
Jan 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1.  
  2. class OlsFile
  3.  
  4. @@mapping = {
  5. #PORT -> CHANNEL
  6. 0 => 6,
  7. 1 => 4,
  8. 2 => 2,
  9. 3 => 0,
  10. 4 => 1,
  11. 5 => 3,
  12. 6 => 5,
  13. 7 => 7
  14. }
  15.  
  16. attr_accessor :data
  17.  
  18. def initialize(input = nil)
  19. self.data = {}
  20. parse(input) if input
  21. end
  22.  
  23. def parse(input)
  24. input.split("\n").each do |line|
  25. value, key = line.split('@')
  26. value = value.to_i
  27. if key && value > 0
  28. self.data[key.to_i] = [value, remap(value)]
  29. end
  30. end
  31. end
  32.  
  33. def remap(value)
  34. v = 0
  35. @@mapping.each do |from, to|
  36. v |= ((value >> from) & 1) << to
  37. end
  38. v
  39. end
  40. end
  41.  
  42.  
  43. Dir["data/score*"].each do |file|
  44. puts
  45. puts
  46. print file
  47. file = OlsFile.new(File.open(file).read)
  48. last = 0
  49.  
  50. file.data.each do |k,v|
  51. puts if (k - last > 20)
  52. last = k
  53. print ("%08b " % v.last) + "(#{v.last}) "
  54. end
  55.  
  56.  
  57. end
Add Comment
Please, Sign In to add comment