Class: Peruby::Op::Exists

Inherits:
Base
  • Object
show all
Defined in:
lib/peruby/op/call.rb

Overview

Perl exists() over array/hash elements and slices.

Instance Method Summary collapse

Methods inherited from Base

#argument_cells, #local_slot, #lvalue, #run_subroutine, #to_callable, #warning_directive?

Constructor Details

#initialize(expression) ⇒ Exists

Returns a new instance of Exists.



186
187
188
# File 'lib/peruby/op/call.rb', line 186

def initialize(expression)
  @expression = expression
end

Instance Method Details

#run(env, context) ⇒ Object



190
191
192
193
# File 'lib/peruby/op/call.rb', line 190

def run(env, context)
  result = @expression.respond_to?(:exists?) && @expression.exists?(env) ? 1 : ''
  context == :list ? [Scalar.new(result)] : result
end