Module: Kansuu::Enum

Extended by:
Util
Defined in:
lib/kansuu/enum.rb

Instance Method Summary collapse

Methods included from Util

__define_func_from_method, __define_funcs_from_method, __module_functionize

Instance Method Details

#initialObject



115
116
117
118
# File 'lib/kansuu/enum.rb', line 115

def initial
  Kansuu::Func.withl[Kansuu::Enum.length >> Kansuu::Num.minus[1]] >>
    Kansuu::Func.app[Kansuu::Enum.take]
end

#pickObject



101
102
103
104
105
# File 'lib/kansuu/enum.rb', line 101

def pick
  -> ns, xs {
    xs.values_at *ns
  } % 2
end

#rangeObject



111
112
113
# File 'lib/kansuu/enum.rb', line 111

def range
  -> x, y { x..y } % 2
end

#sumObject



107
108
109
# File 'lib/kansuu/enum.rb', line 107

def sum
  fold1[-> x, y { x + y }]
end

#tailObject



120
# File 'lib/kansuu/enum.rb', line 120

def tail; drop[1] end

#zipObject



93
# File 'lib/kansuu/enum.rb', line 93

def zip; zipl end

#zip_withObject



95
96
97
98
99
# File 'lib/kansuu/enum.rb', line 95

def zip_with
  -> f, xs, ys {
    xs.zip(ys).map &Kansuu::Func.app[f]
  } % 3
end

#ziplObject



91
# File 'lib/kansuu/enum.rb', line 91

def zipl; zipr.flip 2 end