Method: BOAST::If#initialize
- Defined in:
- lib/BOAST/Algorithm.rb
#initialize(*conditions, &block) ⇒ If
Returns a new instance of If.
1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 |
# File 'lib/BOAST/Algorithm.rb', line 1452 def initialize(*conditions, &block) @conditions = [] @blocks = [] if conditions.size == 0 then raise "Illegal if construct!" elsif conditions.size == 1 then @conditions.push(conditions[0]) @blocks.push(block) elsif conditions.size.even? then (0..conditions.size-1).step(2) { |i| @conditions[i/2] = conditions[i] @blocks[i/2] = conditions[i+1] } else (0..conditions.size-2).step(2) { |i| @conditions[i/2] = conditions[i] @blocks[i/2] = conditions[i+1] } @blocks.push(conditions.last) end end |