was ist der Kontext einer Subroutine?

was ist der Kontext einer Subroutine?

In bashgibt es einen in die Shell integrierten Befehl namens , dessen Funktion durch den Befehl callerwie folgt beschrieben wird :help

Return the context of the current subroutine call

Aber was ist der Kontext eines Unterprogrammaufrufs? Könnten Sie das Nicht-Programmierern erklären und welchen Nutzen es hat, das zu wissen?

Antwort1

Direkt von der bashManpage übernommen:

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

Einfach ausgedrückt sagt es Ihnen, woher Sie gerade gekommen sind. Stellen Sie es sich wie das Märchen vor, in dem zwei Kinder den Wald erkunden und Brotkrümel auf ihrem Weg hinterlassen. Das callerintegrierte Element weist sie auf den letzten Brotkrümel hin, den sie hinterlassen haben, damit sie dorthin zurückkehren können. (OK, die Kinder sind schließlich ziemlich dumm.) Die wiederholte Verwendung dieses integrierten Cals führt Sie zurück zu dem Befehl, den Sie tatsächlich ausgeführt haben und der N Ebenen tief in Funktionsaufrufen endete.

Es handelt sich im Grunde um eine Aufzeichnung der Antworten auf die Frage „In welcher Funktion war ich, bevor ich zu dieser gelangt bin?“ auf jeder Ebene des Funktionsaufrufs.

verwandte Informationen