Class: Egison::Struct

Inherits:
Object show all
Defined in:
lib/egison/matcher-core.rb

Class Method Summary collapse

Class Method Details

.uncons(val) ⇒ Object



39
40
41
42
43
# File 'lib/egison/matcher-core.rb', line 39

def uncons(val)
  val2 = val.clone
  x = val2.shift
  [[x, val2]]
end

.unjoin(val) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/egison/matcher-core.rb', line 45

def unjoin(val)
  val2 = val.clone
  xs = []
  ys = val2.clone
  rets = [[xs, ys]]
  until val2.empty? do
    x = val2.shift
    ys = val2.clone
    xs += [x]
    rets += [[xs, ys]]
  end
  rets
end

.unnil(val) ⇒ Object



35
36
37
# File 'lib/egison/matcher-core.rb', line 35

def unnil(val)
  [[]]
end