Class: Array

Inherits:
Object show all
Defined in:
lib/adsl/util/general.rb,
lib/adsl/parser/ast_nodes.rb

Instance Method Summary collapse

Instance Method Details

#adsl_indentObject



50
51
52
# File 'lib/adsl/util/general.rb', line 50

def adsl_indent
  join("").adsl_indent
end

#optimizeObject



9
10
11
12
13
# File 'lib/adsl/parser/ast_nodes.rb', line 9

def optimize
  map do |e|
    e.respond_to?(:optimize) ? e.optimize : e
  end
end

#select_rejectObject



54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/adsl/util/general.rb', line 54

def select_reject
  arr1 = []
  arr2 = []
  self.each do |e|
    if yield e
      arr1 << e
    else
      arr2 << e
    end
  end
  return arr1, arr2
end

#set_to(array) ⇒ Object



67
68
69
70
71
# File 'lib/adsl/util/general.rb', line 67

def set_to(array)
  self.clear
  array.each{ |e| self << e }
  self
end

#worklist_eachObject



37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/adsl/util/general.rb', line 37

def worklist_each
  changed = true
  until empty? or not changed
    changed = false
    length.times do
      task = self.shift
      new_value = yield task
      self << new_value if new_value
      changed = true if task != new_value
    end
  end
end