class Tildeath::ASTNodes::Tildeath
Public Class Methods
new(victim, tildeath_body, execute_body)
click to toggle source
# File lib/tildeath/ast_nodes/tildeath.rb, line 4 def initialize(victim, tildeath_body, execute_body) @victim = victim @tildeath_body = tildeath_body @execute_body = execute_body end
Public Instance Methods
execute(context)
click to toggle source
# File lib/tildeath/ast_nodes/tildeath.rb, line 10 def execute(context) fail "error: no such object: #{@victim}" unless context[@victim] # loop over first set of statements while victim is alive while context[@victim].alive? return unless context[:THIS].alive? @tildeath_body.execute(context) end # run second set of statements when victim dies return unless context[:THIS].alive? @execute_body.execute(context) end
to_s()
click to toggle source
# File lib/tildeath/ast_nodes/tildeath.rb, line 22 def to_s "~ATH(#{@victim}) { #{@tildeath_body} } EXECUTE(#{@execute_body})" end