text.skipToContent text.skipToNavigation
background-image

F# Einstieg und praktische Anwendung von Sturm, Oliver (eBook)

  • Erscheinungsdatum: 03.07.2012
  • Verlag: entwickler.press
eBook (ePUB)
18,99 €
inkl. gesetzl. MwSt.
Sofort per Download lieferbar

Online verfügbar

F#

Mit Visual Studio 2010 hielt eine neue Programmiersprache in der .NET-Welt Einzug: F#. Das Stadium der Forschungssprache hat F# hinter sich gelassen und stellt Ihnen mit seinem hybriden Ansatz Möglichkeiten zur Verfügung, die weit über das Können anderer .NET-Sprachen hinausgehen. Die objektorientierte Welt ist sogar besser als in C# unterstützt und die funktionale Programmierung eröffnet in vielen Bereichen neue und effizientere Wege. Suchen Sie nach der leistungsfähigsten .NET-Sprache? Mögen Sie funktionale Ideen wie LINQ und interessieren sich für Ähnliches in anderen Bereichen? Erwarten Sie von Ihrer Sprache der Wahl größtmögliche Flexibilität und beste Hilfestellung in jeder Programmiersituation? Dann ist dieses Buch für Sie. Anhand von klaren Beispielen ermöglicht Oliver Sturm einen einfachen Einstieg in die neue Denkweise von F# und bietet dem Leser die Möglichkeit, schon nach kurzer Zeit eigene produktive Anwendungen zu erstellen. Ein Buch für Programmierer und Entwickler im .NET/Visual-Studio-Umfeld. Alle, die die neue Sprache kennen lernen wollen.

Oliver Sturm ist Berater und Trainer für Themenbereiche der .NET-Softwarearchitektur. Er ist Associate Consultant bei thinktecture und bekannt als Autor von Kursmaterialien und Artikeln. Als Experte für Programmiersprachen und Microsoft C# MVP ist er weiterhin bekannt für seine Erfahrungen im Spezialbereich von DevExpress-UI-Komponenten und Frameworks. Unter finden Sie mehr Informationen.

Produktinformationen

    Format: ePUB
    Kopierschutz: none
    Seitenzahl: 188
    Erscheinungsdatum: 03.07.2012
    Sprache: Deutsch
    ISBN: 9783868026085
    Verlag: entwickler.press
    Größe: 3530 kBytes
Weiterlesen weniger lesen

F#

2 Funktionen im Detail

Sie sind sicher nicht überrascht zu hören, dass funktionale Programmierung in F#, wie auch in anderen Sprachen, die ganz oder teilweise der funktionalen Idee verhaftet sind, auf modularen Funktionen basiert. Manche solche Funktionen schreiben Sie selbst, andere sind Bestandteil der F#-Laufzeitumgebung oder sogar des .NET Frameworks.

Jenseits der "einfachen" Deklaration und Implementierung von Funktionen sind Techniken notwendig, um den Aspekt der Modularisierung zu realisieren. Wenn Funktionen als Bausteine dienen sollen, muss es möglich und sogar einfach sein, sie zusammenzufügen, aus ihnen neue Funktionen zu bauen. Die dazu dienlichen Techniken werden gern unter der Bezeichnung Function Construction zusammengefasst.

Dieses Kapitel deckt beide Bereiche ab. Sie werden sehen, welche detaillierten Fähigkeiten F# zur Deklaration und Implementierung von Funktionen bietet und wie diese mit Techniken der Function Construction zu größeren Elementen zusammengebaut werden können.

2.1 Deklarationen

Im ersten Kapitel haben Sie bereits gesehen, wie Sie in F# Funktionen deklarieren können. Hier ist noch einmal die einfache Funktion add , die bereits als Beispiel gezeigt wurde:
let add x y = x + y
Listing 2.1: Die einfache Funktion "add"

Sie haben auch gesehen, dass die Funktionsimplementierung umgebrochen und über mehrere Zeilen gestreckt werden kann, wobei die Einrückung die Struktur der Funktion repräsentiert. Etwa so:
let add x y =
x + y
Listing 2.2: "add", deklariert mit Umbruch

Wie andere moderne Programmiersprachen bietet F# die Möglichkeit, Funktionen auch anonym, also namenlos, zu erzeugen. C# etwa bietet hierzu zwei unterschiedliche Syntaxvarianten, die anonymen Funktionen und die Lambda-Ausdrücke. Letztere sind in den meisten anderen Sprachen, besonders denen aus der funktionalen Sprachwelt, der "normale" Mechanismus zur Erzeugung von anonymen Funktionen. F# ist hier keine Ausnahme: mit dem Schlüsselwort fun (kurz für Function, nicht als Übersetzung von Spaß zu verstehen) erzeugen Sie einen Lambda-Ausdruck:
let add' = fun x y - x + y
Listing 2.3: "add'", als Lambdaausdruck implementiert

Die Syntax add' , gesprochen add Strich, die hier verwendet wird, um eine Variante der Funktion add zu erzeugen, haben Sie schon zuvor gesehen. Mit dem Schlüsselwort fun wird die Erzeugung eines Lambdaausdrucks eingeleitet. Eine Parameterliste für den Ausdruck folgt dem Schlüsselwort, und auf der rechten Seite des Operators - , gesprochen goes to, findet sich die Implementierung, der Body , des Ausdrucks.

Hinweis: Sicherlich haben Sie bemerkt, dass die Funktion, die hier in Form des Lambdaausdrucks deklariert wird, in dem Wert add ' abgelegt und somit gewissermaßen mit einem Namen versehen wird. Man könnte also darüber streiten, ob in diesem Fall von einer anonymen Funktion die Rede sein darf ? schließlich steht die Funktion unter dem Namen add' zum Aufruf zur Verfügung. Allerdings nennt man oft auch in dieser Situation die Funktion anonym, da kein Name dafür innerhalb der syntaktischen Sprachelemente der Deklaration festgelegt wurde. Die Zuweisung an den Wert add' geschieht hier nur, damit ein vollständiges, gültiges Statement im Sinne von F# daraus wird. Praktisch werden Lambdaausdrücke oft auch ohne Zuweisung erzeugt, wie Sie weiter unten sehen werden.

Offensichtlich ist der syntaktische Unterschied zwischen e

Weiterlesen weniger lesen

Kundenbewertungen