За последние 24 часа нас посетили 20800 программистов и 1012 роботов. Сейчас ищут 349 программистов ...

Задание по теме: Анонимные функции.

Тема в разделе "PHP для новичков", создана пользователем Bonso, 2 фев 2024.

  1. Bonso

    Bonso Новичок

    С нами с:
    18 янв 2024
    Сообщения:
    6
    Симпатии:
    0
    1. Создайте анонимную функцию и поместите её в переменную. Функция должна просто возвращать сумму двух переданных параметров.
    2. Вызовите эту анонимную функцию с помощью переменной.
    3. Создайте ещё одну функцию, которая принимает массив с чётным количеством элементов в виде чисел, а также принимает вторым параметром функцию.
    4. Внутри этой функции перебирайте сразу по 2 элемента в массиве и выводите результат вызова переданной функции, передавая ей по 2 этих элемента.
    5. Вызовите функцию из 3-го пункта, передав ей массив с 4 числами, а также функцию из 1-го пункта.

    Мне не понятен 4 и 5 пункт. Можете объяснить более простыми словами? Функция должна брать по 2 элемента из массива и выводить их сумму?
     
  2. Survivor

    Survivor Новичок

    С нами с:
    8 фев 2023
    Сообщения:
    62
    Симпатии:
    9
    3.
    PHP:
    1. function test( array $num, callable $function )
    2. {
    3.   // code
    4. }
    4. Тебе нужно вызвать (ранее созданную функцию test ) и передать ей 1) массив чисел, 2) анонимную функцию

    5. test( [66, 33, 11, 99], $НазваниеАнонимнойФункции)
     
  3. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Задание из института?
    Преподаватели сумашедшие,такие ненормальные задания дают
    Это задание для заумного отличника пятерочника,а не для обычного студента
     
  4. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    245
    Симпатии:
    45
    Адрес:
    Бавария, Германия
    Добрый день!
    Объясняю задание. Простые слова в комментариях в коде
    PHP:
    1. <?
    2. //p.1
    3. $anonymous = function($a,$b) {
    4.    return $a + $b;
    5. };
    6. //p.2
    7. echo "1 + 2 = ",$anonymous(1,2),"<br>";
    8. // или
    9. echo "1 + 2 = {$anonymous(1,2)}<br>";
    10. // 1 + 2 = 3;
    11.  
    12. //p.3
    13. $array = range(1,10); //массив с чётным количеством элементов в виде чисел
    14. /*
    15. function test($array, $anonymous){
    16.  
    17. }
    18. */
    19.  
    20. //p.4
    21. function test($array, $anonymous){
    22.     for ($i = 0; $i < count($array); $i = $i + 2) {
    23.         echo "{$array[$i]} + {$array[$i+1]} = {$anonymous($array[$i], $array[$i+1])}<br>";
    24.     }
    25. }
    26.  
    27. //p. 5
    28. test($array, $anonymous);
    29.  
    30. /*
    31. 1 + 2 = 3
    32. 3 + 4 = 7
    33. 5 + 6 = 11
    34. 7 + 8 = 15
    35. 9 + 10 = 19
    36. */
    37. ?>
    Поскольку Вы забыли написать на каком языке, то тоже яйцо, но вид сбоку
    Код (Javascript):
    1. <script>
    2. //p.1
    3. $anonymous = function($a, $b) {
    4.    return $a + $b;
    5. };
    6.  
    7. //p.2
    8. console.log ("1 + 2 = ",$anonymous(1,2));
    9. // 1 + 2 = 3;
    10.  
    11. //p.3
    12. $array = [1,2,3,4,5,6,7,8,9,10]; //массив с чётным количеством элементов в виде чисел
    13. /*
    14. function test($array, $anonymous){
    15.  
    16. }
    17. */
    18. //p.4
    19. function test($array, $anonymous){
    20.     for ($i = 0; $i < $array.length; $i = $i + 2) {
    21.         console.log($array[$i] + " + " + $array[$i+1] + " = " + $anonymous($array[$i], $array[$i+1]));
    22.     }
    23. }
    24.  
    25.  
    26. //p. 5
    27. test($array, $anonymous);
    28.  
    29. /*
    30. 1 + 2 = 3
    31. 3 + 4 = 7
    32. 5 + 6 = 11
    33. 7 + 8 = 15
    34. 9 + 10 = 19
    35. */
    36. </script>
    Удачи!
     
  5. iceblood

    iceblood Активный пользователь

    С нами с:
    20 фев 2020
    Сообщения:
    83
    Симпатии:
    12
    PHP:
    1. <?php
    2. // Задача 1: Создайте анонимную функцию и поместите ее в переменную
    3. $sumFunction = function($a, $b) {
    4.     return $a + $b;
    5. };
    6.  
    7. // Задача 2: Вызов анонимной функции с использованием переменной
    8. $result = $sumFunction(10, 20);
    9. echo "Результат вызова анонимной функции: $result\n";
    10.  
    11. // Задача 3: Создайте другую функцию, которая принимает массив и функцию в качестве параметров
    12. function processArray(array $numbers, $callback) {
    13.     $count = count($numbers);
    14.     // Проверьте, содержит ли массив четное количество элементов
    15.     if ($count % 2 !== 0) {
    16.         echo "Массив должен содержать четное количество элементов.\n";
    17.         return;
    18.     }
    19.  
    20.     // Выполните итерацию по массиву, обрабатывая пары элементов
    21.     for ($i = 0; $i < $count; $i += 2) {
    22.         $result = $callback($numbers[$i], $numbers[$i + 1]);
    23.         echo "Result of calling the callback function: $result\n";
    24.     }
    25. }
    26.  
    27. // Задача 5: Вызовите функцию из пункта 3, передав массив и функцию из пункта 1
    28. $array = [1, 2, 3, 4];
    29. processArray($array, $sumFunction);
    30. ?>
    1. Создается анонимная функция и присваивается переменной `$sumFunction`.
    2. Анонимная функция вызывается с использованием переменной `$sumFunction`.
    3. Функция `processArray` принимает массив и функцию обратного вызова в качестве параметров.
    4. Внутри `processArray` пары элементов из массива передаются функции обратного вызова для обработки.
    5. Функция `processArray` вызывается с массивом из четырех чисел и анонимной функцией, созданной в пункте 1.

    Для примера. Только не коперни :)
     
  6. Bonso

    Bonso Новичок

    С нами с:
    18 янв 2024
    Сообщения:
    6
    Симпатии:
    0
    Спасибо. Честно говоря не знал что можно делать такую запись:
    Код (Text):
    1.  
    2. <?php
    3.  
    4. $array[$i+1];
    5.  
    6. ?>
     
    #6 Bonso, 9 фев 2024
    Последнее редактирование: 9 фев 2024