Method: BOAST::Case#initialize

Defined in:
lib/BOAST/Algorithm.rb

#initialize(expression, *control) ⇒ Case

Returns a new instance of Case.



1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
# File 'lib/BOAST/Algorithm.rb', line 1350

def initialize(expression, *control)
  @expression = expression
  @constants_list = []
  @blocks = []
  if control.size < 1 then
    raise "No block given!"
  elsif control.size.even? then
    (0..control.size-1).step(2) { |i|
      @constants_list[i/2] = [control[i]].flatten
      @blocks[i/2] = control[i+1]
    }
  else
    (0..control.size-2).step(2) { |i|
      @constants_list[i/2] = [control[i]].flatten
      @blocks[i/2] = control[i+1]
    }
    @blocks.push(control.last)
  end
end