Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
procname and thisproc - reference to the currently executing procedure
Description
Within a running procedure, the special name procname is substituted by the name with which the procedure was invoked, and the special name thisproc is substituted by the actual procedure invoked.
If there was a chain of evaluations leading to the procedure then procname is the ''last name evaluated'' in the chain. If there is no name then the name unknown is used.
One common use of procname is for a fail return, where it is desired to return the unevaluated function call as the result. This is accomplished by the construct: 'procname(_passed)'.
Note: This concept of the last name evaluated is also the concept used to determine the result of evaluation in the case of a procedure (or a table). Namely, for these cases, the result of evaluation is the last name evaluated in the chain of evaluations, and if there is no name then the procedure (or table) structure results.
A common use of thisproc is to implement a recursive call to the currently executing procedure without having to hard code the procedure's name into the procedure body. If procname were used for this purpose, the recursive call would fail if the original procedure was called without referring to it by a name.
For information about the procedure option named procname, see option.
Examples
f := proc (a) if a > 0 then a^(1/2) else 'procname( _passed )' end if end proc:
fact := proc (a) if a > 1 then a * thisproc(a-1) else 1 end if end proc:
See Also
_passed, option, procedure, return, table
Download Help Document