¿Qué es el contexto de una subrutina?

¿Qué es el contexto de una subrutina?

En bash, hay un comando incorporado del shell llamado callercuya función se describe a continuación mediante el helpcomando:

Return the context of the current subroutine call

Pero, ¿qué es el contexto de una llamada a una subrutina? ¿Podrías explicar esto a los no programadores y para qué sirve saberlo?

Respuesta1

Tomado directamente de la bashpágina de manual:

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

En términos simples, te dice de dónde vienes. Piense en ello como en la toma de hadas en la que dos niños exploran el bosque y dejan migas de pan en el camino que toman. El callerintegrado les señala la última ruta de navegación que dejaron caer para que puedan volver a ella. (Está bien, después de todo, los niños son un poco estúpidos). El uso repetido de esta ayuda de calibración incorporada lo llevará de regreso al comando que realmente ejecutó, que terminó en N niveles de profundidad en llamadas a funciones.

Es básicamente una grabación de las respuestas a "¿en qué función estaba antes de llegar a esta?" en cada nivel de llamada a función.

información relacionada