Class: Functional::Cons
Instance Attribute Summary
Attributes inherited from Base
#caller, #exe, #next
Instance Method Summary
collapse
Methods inherited from Base
#base_fun, #clean, #to_proc
Constructor Details
#initialize(n) ⇒ Cons
Returns a new instance of Cons.
279
280
281
|
# File 'lib/functional.rb', line 279
def initialize n
@buf, @n = [], n
end
|
Instance Method Details
#cons_fun(*a) ⇒ Object
Also known as:
call
283
284
285
286
287
288
289
290
291
292
293
294
295
296
|
# File 'lib/functional.rb', line 283
def cons_fun *a
@buf.push a
unless @n > @buf.size
class <<self
def call *a
@buf.push a
@next.call @buf
@buf.shift
end
end
@next.call @buf
@buf.shift
end
end
|
299
300
301
302
|
# File 'lib/functional.rb', line 299
def end
@next.call @buf unless @n > @buf.size
@next.end
end
|