Выделено в отдельную тему из темы "Что такое аргумент в function?"аналогия из жизни
представим что функция - это соковыжималка
она такая себе довольно конкретная, пылится на полочке, попросту говоря существует как и объявленная функция. пока мы ее не трогаем, нам абсолютно все равно что она делает и как
когда доходит до дела (нам захотелось сока) мы можем вспомнить об этом замечательном приборе и достать его из полочки и применить (вызвать функцию) или пойти в магазин, и купить ее, если у нас ее нет (написать функцию) и после все равно использовать по назначению (вызвать)
мы открываем инструкцию (мануал) и читаем что во входное отверстие этого прибора нужно подавать фрукты/овощи (аргументы), а из выходного отверстия будет течь сок (результат)
так вот результат как раз очень сильно будет зависить от того что именно мы подадим на вход
если кинем яблоки - получится яблочный сок, помидоры - томатный
говоря языком программирования
PHP:
скопировать код в буфер обмена
// функция соковыжималка function juicer($fruit) { // делает что-то с входным аргументом (фруктом) // to do something with fruit and receive juice // пусть "что-то" будет делением на 1000 // let "something" be division to 1000 // на выходе получается сок // juice return $fruit/1000; } // если мы вставим на вход помидор, очевидно получим томатный сок $tomatoJuice = juicer($tomato); // если аргумент будет яблоко, то конечно же и сок будет яблочным $appleJuice = juicer($apple); // а какой сок получится из морковки ??? = juicer($carrot); // правильно! персиковый
обычно в функцию мы закладываем некоторые действия которые приведут к определенному результату. функция может требовать или не требовать аргумента
например часы - возвращают время. им не надо ничего подавать на вход, они самодостаточны и возвращают вполне определенный результат исходя из их внутреннего состояния
с другой стороны функция будильник требует аргумент (время срабатывания), на выходе получим звонок в определенное время
вобщем аргумент - это то от чего будет зависить результат
так же аргументов может быть потребовано несколько, например мультиварка, может принимать одновременно много разных ингридиентов, делать с ними простую манипуляцию (подогрев) и на выход выдавать блюдо, которое зависит от входных ингридиентов
так же в контексте приборов аргументами можно называть и нажатые нами кнопки, например таймер времени в микроволновке - аргумент, мощность - аргумент, исходя из этих аргементов вы получите результат (боле разогретое блюдо за то же время при повышенной мощности, или же при более длительном разогреве)
так что аргументы - они повсюду и закладывают аргументы те кто придумывает функционал прибора (функцию в программировании).
рассмотрим пример функции вывода приветствия
эта функция всегда будет выдавать "Привет друг" не смотря ни на что, говорят что это хардкод, то есть определенные условия жестко записаны и не поддаются влиянию извне
добавляя аргумент, мы можем здороваться уже с кем угодно, задавая цель в аргументе
можна дать безграничные возможности по приветствию, полностью убрав хардкод и передав на вывод аргумент
ну и далее мы можем расширять функционал до бесконечности добавляя новые аргументы и прописывая нужную логику для обработки этих аргументов. Например добавляя функционал вывода несколько раз одно и тоже сообщение, передавая второй аргумент, сколько раз нужно повторить
PHP:
скопировать код в буфер обмена
function a($msg, $times = 1) { for($i = 0; $i < $times; $i++) { echo $msg . PHP_EOL; } } a('Привет друг'); // Привет друг a('Здраствуй друг'); // Здраствуй друг a('Привет друг', 2); // Привет друг // Привет друг a('Здраствуй друг', 3); // Здраствуй друг // Здраствуй друг // Здраствуй друг
(Отредактировано автором: 06 Августа, 2015 - 18:35:32)
|