Class: Verneuil::Block

Inherits:
Object
  • Object
show all
Defined in:
lib/verneuil/block.rb

Overview

Abstracts the notion of a block.

Instance Method Summary collapse

Constructor Details

#initialize(adr, process, scope) ⇒ Block

Returns a new instance of Block.



5
6
7
8
9
# File 'lib/verneuil/block.rb', line 5

def initialize(adr, process, scope)
  @adr      = adr
  @process  = process
  @scope    = scope
end

Instance Method Details

#call(*args) ⇒ Object



11
12
13
14
# File 'lib/verneuil/block.rb', line 11

def call(*args)
  @process.enter_block(args, @adr, @scope)
  throw :verneuil_code
end

#inspectObject



16
17
18
# File 'lib/verneuil/block.rb', line 16

def inspect
  "block@#{@adr.ip}(#{@scope.inspect})"
end