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
rfc:functional-elements [2008/03/16 14:26] – Rewriting required functionality example lstrojnyrfc:functional-elements [2017/09/22 13:28] (current) – external edit 127.0.0.1
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.1205677567.txt.gz · Last modified: 2017/09/22 13:28 (external edit)