Skip to main content
Rollback to Revision 3
Source Link
200_success
  • 144.2k
  • 22
  • 188
  • 473
class MultiplicationTable
  def initialize(num_ary)
    @num_ary = num_ary.to_a
  end         
                         
  def generate             
    a1 = @num_ary.mapclone    
    a2 = @num_ary.clone    
                         
    rows = []              
    rows << a1             
                         
    a2.shift               
                         
    a2.each do |x|         
      @num_arycols = [x]           
      a1[1.map.-1].each do |y|
        cols << (x * y)    
      end                  
      rows << cols         
    end                    
                         
    rows                   
  end                      
end
class MultiplicationTable
  def initialize(num_ary)
    @num_ary = num_ary.to_a
  end         
                         
  def generate             
    @num_ary.map do |x|
      @num_ary.map do |y|
        x * y
      end
    end               
  end                      
end
class MultiplicationTable
  def initialize(num_ary)
    @num_ary = num_ary.to_a
  end         
                         
  def generate             
    a1 = @num_ary.clone    
    a2 = @num_ary.clone    
                         
    rows = []              
    rows << a1             
                         
    a2.shift               
                         
    a2.each do |x|         
      cols = [x]           
      a1[1..-1].each do |y|
        cols << (x * y)    
      end                  
      rows << cols         
    end                    
                         
    rows                   
  end                      
end
simplify generate method
Source Link
class MultiplicationTable
  def initialize(num_ary)
    @num_ary = num_ary.to_a
  end         
                         
  def generate             
    a1 = @num_ary.clone    
    a2 = @num_ary.clone    
                         
    rows = []              
    rows << a1             
                         
    a2.shift               
                         
    a2.eachmap do |x|         
      cols = [x]           
      a1[1..-1]@num_ary.eachmap do |y|
        cols << (x * y)    
      end                  
      rows << cols         
    end                    
                         
    rows                   
  end                      
end
class MultiplicationTable
  def initialize(num_ary)
    @num_ary = num_ary.to_a
  end         
                         
  def generate             
    a1 = @num_ary.clone    
    a2 = @num_ary.clone    
                         
    rows = []              
    rows << a1             
                         
    a2.shift               
                         
    a2.each do |x|         
      cols = [x]           
      a1[1..-1].each do |y|
        cols << (x * y)    
      end                  
      rows << cols         
    end                    
                         
    rows                   
  end                      
end
class MultiplicationTable
  def initialize(num_ary)
    @num_ary = num_ary.to_a
  end         
                         
  def generate             
    @num_ary.map do |x|
      @num_ary.map do |y|
        x * y
      end
    end               
  end                      
end
shrink example array
Source Link
multiplication_table = Primer::MultiplicationTable.new(1.upto(105)).generate
[
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]5],
  [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]10],
  [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]15],
  [4, 8, 12, 16, 20, 24, 28, 32, 36, 40]20],
  [5, 10, 15, 20, 25, 30, 35, 40, 45, 50],
  [6, 12, 18, 24, 30, 36, 42, 48, 54, 60],
  [7, 14, 21, 28, 35, 42, 49, 56, 63, 70],
  [8, 16, 24, 32, 40, 48, 56, 64, 72, 80],
  [9, 18, 27, 36, 45, 54, 63, 72, 81, 90],
  [10, 20, 30, 40, 50, 60, 70, 80, 90,25] 100]
]
multiplication_table = Primer::MultiplicationTable.new(1.upto(10)).generate
[
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  [2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
  [3, 6, 9, 12, 15, 18, 21, 24, 27, 30],
  [4, 8, 12, 16, 20, 24, 28, 32, 36, 40],
  [5, 10, 15, 20, 25, 30, 35, 40, 45, 50],
  [6, 12, 18, 24, 30, 36, 42, 48, 54, 60],
  [7, 14, 21, 28, 35, 42, 49, 56, 63, 70],
  [8, 16, 24, 32, 40, 48, 56, 64, 72, 80],
  [9, 18, 27, 36, 45, 54, 63, 72, 81, 90],
  [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
]
MultiplicationTable.new(1.upto(5)).generate
[
  [1, 2, 3, 4, 5],
  [2, 4, 6, 8, 10],
  [3, 6, 9, 12, 15],
  [4, 8, 12, 16, 20],
  [5, 10, 15, 20, 25] 
]
Typo; remove chatty thanks; add tag.
Source Link
Brythan
  • 7k
  • 3
  • 21
  • 37
Loading
Source Link
Loading