mirror of
https://github.com/igorsimdyanov/php8.git
synced 2025-07-23 02:58:23 +00:00
Главы 13-15: корректура
This commit is contained in:
@ -2,7 +2,8 @@
|
||||
function father($a)
|
||||
{
|
||||
echo $a, "<br />";
|
||||
function child($b) {
|
||||
function child($b)
|
||||
{
|
||||
echo $b + 1, "<br />";
|
||||
return $b * $b;
|
||||
}
|
||||
|
@ -5,4 +5,4 @@ function generator()
|
||||
yield from [2, 3];
|
||||
}
|
||||
|
||||
foreach(generator() as $i) echo "$i ";
|
||||
foreach (generator() as $i) echo "$i ";
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
function collect(array $arr, callable $callback)
|
||||
{
|
||||
foreach($arr as $value) {
|
||||
foreach ($arr as $value) {
|
||||
yield $callback($value);
|
||||
}
|
||||
}
|
||||
|
||||
$arr = [1, 2, 3, 4, 5, 6];
|
||||
$collect = collect($arr, fn($e) => $e * $e);
|
||||
foreach($collect as $val) {
|
||||
foreach ($collect as $val) {
|
||||
echo "$val ";
|
||||
}
|
||||
|
@ -1,21 +1,21 @@
|
||||
<?php
|
||||
function collect($arr, $callback)
|
||||
{
|
||||
foreach($arr as $value) {
|
||||
foreach ($arr as $value) {
|
||||
yield $callback($value);
|
||||
}
|
||||
}
|
||||
|
||||
function select($arr, $callback)
|
||||
{
|
||||
foreach($arr as $value) {
|
||||
if($callback($value)) yield $value;
|
||||
foreach ($arr as $value) {
|
||||
if ($callback($value)) yield $value;
|
||||
}
|
||||
}
|
||||
|
||||
$arr = [1, 2, 3, 4, 5, 6];
|
||||
$select = select($arr, fn($e) => $e % 2 == 0);
|
||||
$collect = collect($select, fn($e) => $e * $e);
|
||||
foreach($collect as $val) {
|
||||
foreach ($collect as $val) {
|
||||
echo "$val ";
|
||||
}
|
||||
|
@ -5,10 +5,10 @@ function square($value)
|
||||
}
|
||||
|
||||
function even_square($arr) {
|
||||
foreach($arr as $value) {
|
||||
foreach ($arr as $value) {
|
||||
if ($value % 2 == 0) yield from square($value);
|
||||
}
|
||||
}
|
||||
|
||||
$arr = [1, 2, 3, 4, 5, 6];
|
||||
foreach(even_square($arr) as $val) echo "$val ";
|
||||
foreach (even_square($arr) as $val) echo "$val ";
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
function collect(array $arr, callable $callback)
|
||||
{
|
||||
foreach($arr as $key => $value) {
|
||||
foreach ($arr as $key => $value) {
|
||||
yield $key => $callback($value);
|
||||
}
|
||||
}
|
||||
@ -16,6 +16,6 @@ $arr = [
|
||||
];
|
||||
|
||||
$collect = collect($arr, fn($e) => $e * $e);
|
||||
foreach($collect as $key => $val) {
|
||||
foreach ($collect as $key => $val) {
|
||||
echo "$val ($key) ";
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
function crange($size)
|
||||
{
|
||||
$arr = [];
|
||||
for($i = 0; $i < $size; $i++) {
|
||||
for ($i = 0; $i < $size; $i++) {
|
||||
$arr[] = $i;
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
$range = crange(1_024_000);
|
||||
foreach($range as $i) echo "$i ";
|
||||
foreach ($range as $i) echo "$i ";
|
||||
echo '<br />' . PHP_EOL;
|
||||
echo memory_get_usage();
|
||||
|
@ -1,12 +1,12 @@
|
||||
<?php
|
||||
function crange($size)
|
||||
{
|
||||
for($i = 0; $i < $size; $i++) {
|
||||
for ($i = 0; $i < $size; $i++) {
|
||||
yield $i;
|
||||
}
|
||||
}
|
||||
|
||||
$range = crange(1024000);
|
||||
foreach($range as $i) echo "$i ";
|
||||
foreach ($range as $i) echo "$i ";
|
||||
echo '<br />' . PHP_EOL;
|
||||
echo memory_get_usage();
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
function simple($from = 0, $to = 100)
|
||||
{
|
||||
for($i = $from; $i < $to; $i++) {
|
||||
for ($i = $from; $i < $to; $i++) {
|
||||
yield $i;
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@ function simple($from = 0, $to = 100)
|
||||
$obj = simple(1, 5);
|
||||
|
||||
// Выполняем цикл, пока итератор не достигнет конца
|
||||
while($obj->valid()) {
|
||||
while ($obj->valid()) {
|
||||
echo ($obj->current() * $obj->current()) . ' ';
|
||||
// К следующему элементу
|
||||
$obj->next();
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
function simple(int $from = 0, int $to = 100)
|
||||
{
|
||||
for($i = $from; $i < $to; $i++) {
|
||||
for ($i = $from; $i < $to; $i++) {
|
||||
echo "значение = $i<br />";
|
||||
yield $i;
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
function reject(array $arr, callable $callback)
|
||||
{
|
||||
foreach($arr as $value) {
|
||||
if(!$callback($value)) yield $value;
|
||||
foreach ($arr as $value) {
|
||||
if (!$callback($value)) yield $value;
|
||||
}
|
||||
}
|
||||
|
||||
$arr = [1, 2, 3, 4, 5, 6];
|
||||
$reject = reject($arr, fn($e) => $e % 2 == 0);
|
||||
foreach($reject as $val) {
|
||||
foreach ($reject as $val) {
|
||||
echo "$val ";
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
function select(array $arr, callable $callback)
|
||||
{
|
||||
foreach($arr as $value) {
|
||||
if($callback($value)) yield $value;
|
||||
foreach ($arr as $value) {
|
||||
if ($callback($value)) yield $value;
|
||||
}
|
||||
}
|
||||
|
||||
$arr = [1, 2, 3, 4, 5, 6];
|
||||
$select = select($arr, fn($e) => $e % 2 == 0);
|
||||
foreach($select as $val) {
|
||||
foreach ($select as $val) {
|
||||
echo "$val ";
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
function block()
|
||||
{
|
||||
while(true) {
|
||||
while (true) {
|
||||
$string = yield;
|
||||
echo $string;
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
function simple($from = 0, $to = 100)
|
||||
{
|
||||
for($i = $from; $i < $to; $i++) {
|
||||
for ($i = $from; $i < $to; $i++) {
|
||||
echo "значение = $i<br />";
|
||||
yield $i;
|
||||
}
|
||||
}
|
||||
|
||||
foreach(simple() as $val) {
|
||||
foreach (simple() as $val) {
|
||||
echo 'квадрат = ' . ($val * $val) . '<br />';
|
||||
if ($val >= 5) break;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ class MinMax
|
||||
{
|
||||
public function __call(string $method, array $arr)
|
||||
{
|
||||
switch($method) {
|
||||
switch ($method) {
|
||||
case 'min':
|
||||
return $this->min($arr);
|
||||
case 'max':
|
||||
@ -17,7 +17,7 @@ class MinMax
|
||||
{
|
||||
$result = $arr[0];
|
||||
|
||||
foreach($arr as $value) {
|
||||
foreach ($arr as $value) {
|
||||
if ($value < $result) {
|
||||
$result = $value;
|
||||
}
|
||||
@ -30,7 +30,7 @@ class MinMax
|
||||
{
|
||||
$result = $arr[0];
|
||||
|
||||
foreach($arr as $value) {
|
||||
foreach ($arr as $value) {
|
||||
if ($value > $result) {
|
||||
$result = $value;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@ class MinMax
|
||||
{
|
||||
public function __call(string $method, array $arr)
|
||||
{
|
||||
switch($method) {
|
||||
switch ($method) {
|
||||
case 'min':
|
||||
return min($arr);
|
||||
case 'max':
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
class Rainbow {
|
||||
class Rainbow
|
||||
{
|
||||
private const COLORS = [
|
||||
'red' => 'красный',
|
||||
'orange' => 'оранжевый',
|
||||
@ -12,7 +13,7 @@ class Rainbow {
|
||||
|
||||
public function __get(string $key) : ?string
|
||||
{
|
||||
if(array_key_exists($key, Rainbow::COLORS)) {
|
||||
if (array_key_exists($key, Rainbow::COLORS)) {
|
||||
return Rainbow::COLORS[$key];
|
||||
} else {
|
||||
return null;
|
||||
|
@ -1,10 +1,11 @@
|
||||
<?php
|
||||
class Settings {
|
||||
class Settings
|
||||
{
|
||||
private array $properties;
|
||||
|
||||
public function __get(string $key) : ?string
|
||||
{
|
||||
if(array_key_exists($key, $this->properties)) {
|
||||
if (array_key_exists($key, $this->properties)) {
|
||||
return $this->properties[$key];
|
||||
} else {
|
||||
return null;
|
||||
|
Reference in New Issue
Block a user