rfc:functional-elements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
rfc:functional-elements [2008/03/16 14:26] – Rewriting required functionality example lstrojnyrfc:functional-elements [2008/03/17 09:40] lstrojny
Line 38: Line 38:
 } }
 </code> </code>
 +
 +
  
 ==== Required functionality ==== ==== Required functionality ====
 Extracting the required functionality to leads to the following required additions: Extracting the required functionality to leads to the following required additions:
   * [[rfc:functional-elements:call-iterator|class CallIterator]]: a simple iterator which walks over a traversable list (including arrays) and calls a specified method. The CallIterator might optionally gather the results   * [[rfc:functional-elements:call-iterator|class CallIterator]]: a simple iterator which walks over a traversable list (including arrays) and calls a specified method. The CallIterator might optionally gather the results
-  * function is_traversable(): Returns true if a list is traversable (Iterator/IteratorAggregate/array) +  * [[rfc::functional-elements:is-traversable|function is_traversable()]]: Returns true if a list is traversable (Iterator/IteratorAggregate/array) 
-  * function iterate(): Walks over a traversable list and does nothing +  * [[rfc:functional-elements:iterate|function iterate()]]: Walks over a traversable list and does nothing 
-  * function iterator_true(): Walks over a traversable list and assumes every element to be true +  * function iterator_true(): Walks over a traversable list and assumes every element to be bool(true) 
-  * function iterator_false(): Walks over a traversable list and assumes every element to be false+  * function iterator_false(): Walks over a traversable list and assumes every element to be bool(false
 + 
 +==== Modified use cases ==== 
 +=== UC-1: Iterating over an aggregation of objects === 
 +<code php> 
 +iterate(new CallIterator($list, 'method')); 
 +</code> 
 + 
 +=== UC-2: Iterating over an aggregation of objects and keeping the results === 
 +<code php> 
 +$result = iterate(new CallIterator($list, 'method'), true); 
 +</code>
  
rfc/functional-elements.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1