PHP code example of md / for-comprehension-preprocessor
1. Go to this page and download the library: Download md/for-comprehension-preprocessor library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
md / for-comprehension-preprocessor example snippets
for ($a <- ImmList(1, 2, 3)) { echo $a; }
ImmList(1, 2, 3)->withEach(function ($a) {
echo $a;
});
for ($a <- ImmList(1, 2, 3); $b <- ImmList($a); $c <- ImmList($b)) { echo $a + $b + $c; }
ImmList(1, 2, 3)->withEach(function($a) {
ImmList($a)->withEach(function($b) use ($a) {
ImmList($b)->withEach(function($c) use ($a, $b) {
echo ($a + $b + $c) . "\n";
});
});
});
for ($a <- ImmList(1, 2, 3)) yield $a + 1;
ImmList(1, 2, 3)->map(function() {
return $a + 1;
});
for {
$a <- Some(42)
$b <- Some($a + 1)
$c <- Some($b + $a + 3)
} yield $c;
Some(42)->flatMap(function ($a) {
return Some($a + 1)->flatMap(function ($b) use ($a) {
return Some($b + $a + 3)->map(function ($c) use ($a, $b) {
return $c;
});
});
});
for {
$line <- IO\readline()
_ <- IO\write($line, '/tmp/some_file.txt')
_ <- IO\printLn("You have successfully written to file")
} yield ()
for {
$a <- ImmList(1, 2, 3) if $a % 2 == 0
} yield $a;
ImmList(1, 2, 3)->withFilter(function ($a) {
return $a % 2 == 0;
})->map(function ($a) {
return $a;
});
for {
$a <- ImmList(1, 2, 3) if $a % 2 == 0
$b <- ImmList(1, 2, 3) if $b % 2 != 0
} yield ($a, $b);
ImmList(1, 2, 3)->withFilter(function ($a) {
return $a % 2 == 0;
})->flatMap(function ($a) {
return ImmList(1, 2, 3)->withFilter(function ($b) use ($a) {
return $b % 2 != 0;
})->map(function ($b) use ($a) {
return Pair($a, $b);
});
});
for {
$a <- ImmList(1, 2, 3)
$b <- ImmList(1, 2, 3)
if $b % 2 != 0
} yield ($a, $b);
ImmList(1, 2, 3)->flatMap(function ($a) {
return ImmList(1, 2, 3)->withFilter(function ($b) use ($a) {
return $b % 2 != 0;
})->map(function ($b) use ($a) {
return Pair($a, $b);
});
});
for {
($a) <- Some(Tuple(1))
($b, $c) <- Some(Pair(1, 2))
} yield $b;
Some(Tuple(1))->flatMap(function ($t2) {
$a = $t2->_1;
return Some(Pair(1, 2))->map(function ($t1) use ($a) {
$b = $t1->_1;
$c = $t1->_2;
return $b;
});
});
for {
$a <- Some(42)
$b <- Some(43)
} yield ($a, $b);