Funktion

Aus Mikiwiki
Version vom 1. Februar 2009, 17:24 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Eine <b>Funktion</b> (engl. function, subroutine) ist in der Programmierung die Bezeichnung eines Programmierkonzeptes, das grosse Ähnlichkeit zum Konzept der [[Pr...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Eine Funktion (engl. function, subroutine) ist in der Programmierung die Bezeichnung eines Programmierkonzeptes, das grosse Ähnlichkeit zum Konzept der Prozedur hat. Hauptmerkmal einer Funktion ist es, dass sie ein Ergebnis zurückliefert und deshalb im inneren von Ausdrücken verwendet werden kann. Die genaue Bezeichnung und Details ihrer Ausprägung ist in verschiedenen Programmiersprachen durchaus unterschiedlich. Funktionen belegen Arbeitsspeicher und sind deshalb nur anzulegen, wenn sie auch wirklich benutzt werden.

Funktionen werden häufig in Shellskripten benutzt und haben dort denselben Zweck wie in anderen Programmiersprachen auch. Eine Shell-Funktion besteht aus einem Funktionsnamen und einer Befehlsliste gemäss folgender Syntax. Bei Verwendung von Funktionsname im weiteren Verlauf des Shellskripts führt der Befehlsinterpreter die Befehlsliste von Funktionsname aus. Innerhalb der Funktion kann mit "$1", "$2" usw. auf die Parameter zugegriffen werden. Die Anzahl der Parameter ist "$#". Die Variable "$0" enthält aber nicht den Funktionsnamen, sondern den Namen des Shellskripts. Im Gegensatz zu Shellskripts sind Shell-Funktionen immer lokal, werden also nicht exportiert, und sind daher in der Subshell nicht bekannt.

<i>Funktionsname</i> ()
{
  <i>Befehlsliste</i>
}

<u>Beispiel 1</u>

Definition einer Funktion in der Datei ".profile", die dann ähnlich wie ein Befehl benutzt werden kann.

<pre class=wiki>
# Bilden der Funktion "wo":
function wo
{
  find . -name $1
}

Beispiel 2

Definition einer Funktion, die alle Verzeichnisse im aktuellen Verzeichnis auflistet, wobei dem Befehl "ls" beliebige Argumente mitgegeben werden können.

$ lsd () { ls -l $* | grep ^d; }

Weblinks

Vorlage:dewi