rfc:comprehensions

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
rfc:comprehensions [2019/03/11 04:47]
crell Revise examples and remove mention of Javascript.
rfc:comprehensions [2019/03/11 11:53]
nikic fix typos in code
Line 31: Line 31:
 </code> </code>
  
-In both cases, ''%%'$gen%%'' is now a generator that will produce double the odd values of $list.  However, the first case uses 38 characters (with spaces) vs 94 characters (with spaces), and is easily compacted onto a single line as opposed to 7.+In both cases, ''%%$gen%%'' is now a generator that will produce double the odd values of $list.  However, the first case uses 38 characters (with spaces) vs 94 characters (with spaces), and is easily compacted onto a single line as opposed to 7.
  
 ===== Proposal ===== ===== Proposal =====
Line 212: Line 212:
  
 $result = array_map(function ($x) { $result = array_map(function ($x) {
-  $x * 2;+  return $x * 2;
 }, $list); }, $list);
  
Line 251: Line 251:
 // but I include it for completeness. // but I include it for completeness.
 $result = array_map(function($x) { $result = array_map(function($x) {
-  $x * 2+  return $x * 2;
 }, array_filter(function() { }, array_filter(function() {
-  return $x % 2+  return $x % 2;
 }, $list)); }, $list));
  
 $result = (function() use ($list) { $result = (function() use ($list) {
   foreach ($list as $x) {   foreach ($list as $x) {
-    If ($x % 2) {+    if ($x % 2) {
       yield $x * 2;       yield $x * 2;
     }     }
Line 350: Line 350:
 <code php> <code php>
 $result = array_map(function($x) { $result = array_map(function($x) {
-  $x * 2+  return $x * 2;
 }, array_filter(function() { }, array_filter(function() {
-  return $x % 2+  return $x % 2;
 }, $list)); }, $list));
  
Line 371: Line 371:
  
 <code php> <code php>
-$result = (fn() => foreach($list as $x) if ($x % 2) yield $x * 2;)();+$result = (fn() => foreach($list as $x) if ($x % 2) yield $x * 2)();
 </code> </code>
  
rfc/comprehensions.txt · Last modified: 2019/04/05 01:10 by crell