23 lines
		
	
	
		
			439 B
		
	
	
	
		
			Crystal
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			439 B
		
	
	
	
		
			Crystal
		
	
	
	
	
	
module Enumerable(T)
 | 
						|
  def count_each(others)
 | 
						|
    count_map = {} of T => Int32
 | 
						|
    each do |other|
 | 
						|
      count_map[other] = (count_map[other]? || 0) + 1
 | 
						|
    end
 | 
						|
    return count_map
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
class Rectangle
 | 
						|
  def initialize(@x : Int32, @y : Int32, @width : Int32, @height : Int32)
 | 
						|
  end
 | 
						|
 | 
						|
  def each_coord(&block)
 | 
						|
    (@x...(@x + @width)).each do |x|
 | 
						|
      (@y...(@y + @height)).each do |y|
 | 
						|
        yield x, y
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |