Что такое контекст подпрограммы?

Что такое контекст подпрограммы?

В bashоболочке есть встроенная команда с именем, callerфункция которой описывается следующим образом help:

Return the context of the current subroutine call

Но что такое контекст вызова подпрограммы? Не могли бы вы объяснить это непрограммистам и чем полезно его знание?

решение1

Взято непосредственно со bashстраницы руководства:

caller ... displays the line number and source filename of the  current subroutine call.

Проще говоря, он сообщает вам, откуда вы только что пришли. Представьте себе, что это как фея, где двое детей исследуют лес и оставляют хлебные крошки вдоль своего пути. callerВстроенная команда указывает им на последнюю оставленную ими хлебную крошку, чтобы они могли вернуться к ней. (ладно, дети, в конце концов, немного глупые). Повторное использование этой встроенной команды cal поможет вам вернуться к команде, которую вы фактически запустили, которая оказалась на N уровней глубже в вызовах функций.

По сути, это запись ответов на вопрос «в какой функции я находился до того, как попал в эту?» на каждом уровне вызова функции.

Связанный контент