Sleep (Programmiersprache)

Sleep (Programmiersprache)
Sleep
Paradigmen: prozedural, funktional
Erscheinungsjahr: 2004
Entwickler: Raphael Mudge
Aktuelle Version: 2.1 update 4  (30. April 2009)
Typisierung: dynamisch
Einflüsse: Perl, Objective-C
Betriebssystem: plattformunabhängig
Lizenz: LGPL
sleep.dashnine.org

Sleep ist eine prozedurale Skriptsprache inspiriert von Perl und Objective-C. Die einzige bekannte Implementierung ist in Java (Programmiersprache) geschrieben und für die einfache Integration in Java Anwendungen vorgesehen.

Die Sleep Java API erlaubt es, die Sprache um neue Operatoren, Funktionen und "Environments" zu erweitern.

Sleep wird zum Beispiel in dem IRC-Client jIRCii und dem IRC-Bot SleepyBot benutzt.

Inhaltsverzeichnis

Übersicht

Die Eigenschaften der Sprache

Daten Strukturen und Typen

Sleep besitzt drei verschiedene Datentypen: Skalare, Arrays und Hashes (Assoziative Arrays). Skalare beginnen mit einem Dollarzeichen ($), Arrays mit einem At-Zeichen (@) und Hashes mit einem Prozentzeichen (%).

Skalare

Ein Skalar kann beispielsweise eine Zeichenkette oder eine Zahl repräsentieren. Zeichenketten sind Literale oder "parsed literals". Zahlen sind entweder Ganzzahlen oder Gleitkommazahlen. Skalare können überdies aber auch beliebige Objektreferenzen repräsentieren, beispielsweise wenn HOES benutzt werden.

Arrays

Ein Array ist eine Sammlung von Skalaren, Hashes oder anderen Arrays, die über einen numerischen Index angesprochen werden können, beginnend bei Null (0).

Hashes

Hashes sind assoziative Arrays und bilden Schlüssel auf Werte ab. Schlüssel können sowohl Zahlen als auch Zeichenketten sein.

Dynamische Typisierung

Sleep benutzt wie viele Skriptsprachen Dynamische Typisierung. Das bedeutet, dass Variablen vor der Benutzung nicht deklariert werden und einen Datentypen zugewiesen haben müssen. Das hat gewisse Vorteile, aber auch gewisse Nachteile.

HOES

Neu in Sleep 2.0 sind HOES (Haphazard Object Extensions for Sleep). Diese ermöglichen die Erzeugung und Verwendung von Java Objekten.

Code-Beispiele

"Hello World"

   # Gibt "Hallo Welt" auf der Standardausgabe aus
   println('Hallo Welt');

Zeichenketten

Literale

   # Zuweisung eines Literals an einen Skalar
   $string = 'Diese Zeichenkette ist ein Literal';

"Parsed literals"

   $str1 = 'Variablen';
   $str2 = 'werden';
   $str3 = 'in geparsten Zeichenketten';
   $str4 = 'ersetzt';
   $string = "Prima, $str1 $str2 $str3 $str4";
   println($string);

Ausgabe:

Prima, Variablen werden in geparsten Zeichenketten ersetzt

Konkatenation

Zeichenketten werden mit dem Punkt-Operator verkettet.

   $punkt = '.';
   $ende = 'verkettet.';
   $string = 'Zeichenketten ' . 'werden mit dem ' . $punkt . " $ende";
   println($string);

Ausgabe:

Zeichenketten werden mit dem . verkettet.

Arrays

   @namen = array('Thomas','Michael','Andreas');
   println( join( ', ', @namen ) );

Ausgabe:

Thomas, Michael, Andreas

Hashes

   %person = hash( vorname => 'Thomas', nachname => 'Müller', alter => 33 );
   println( 'Name:  ' . %person['vorname'] . ' ' . %person['nachname'] );
   println( 'Alter: ' . %person['alter'] . ' Jahre' );

Ausgabe:

Name:  Thomas MüllerAlter: 33 Jahre

HOES

   # Erzeugt einen JFrame und zeigt diesen an
   import javax.swing.*;
   $jframe = [new JFrame: 'Sleep HOES Beispiel'];
   [$jframe setDefaultCloseOperation: [JFrame EXIT_ON_CLOSE]];
   [[$jframe getContentPane] add: [new JLabel: 'Erstellt mit Sleep HOES']];
   [$jframe pack];
   [$jframe show];

Anwendungen

Sleep wird im Augenblick in folgenden Anwendungen benutzt:

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Programmiersprache Perl — Perl Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle  …   Deutsch Wikipedia

  • Puck (Programmiersprache) — Puck Visuelle Programmiersprache Basisdaten Paradigmen: Visuelle Programmierumgebung …   Deutsch Wikipedia

  • Perl (Programmiersprache) — Perl Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle Version …   Deutsch Wikipedia

  • Liste der Programmiersprachen — A A (Programmiersprache) A# A+ A 0 A 1 A 2 A 3 A9 AACC AADL AAIMS aal AAPL Aardappel AARDVARK Abacus ABACUS 10 ABACUS/X ABAP ActionScript Ada ADbasic AgentSpeak(L) Agilent VEE AHDL Aleph ALGOL (ALGOL 60, ALGOL W, ALGOL 68) Amber …   Deutsch Wikipedia

  • C-control — Das Mikrocontrollermodul C Control wird vom Elektronikunternehmen Conrad Electronic produziert und vermarktet. Die seit 1994 produzierte Mikrocontrollerreihe wird heute in verschiedenen Variationen vertrieben. Neben einem auf einem Motorola (seit …   Deutsch Wikipedia

  • CONRAD-Control — Das Mikrocontrollermodul C Control wird vom Elektronikunternehmen Conrad Electronic produziert und vermarktet. Die seit 1994 produzierte Mikrocontrollerreihe wird heute in verschiedenen Variationen vertrieben. Neben einem auf einem Motorola (seit …   Deutsch Wikipedia

  • Conrad-Control — Das Mikrocontrollermodul C Control wird vom Elektronikunternehmen Conrad Electronic produziert und vermarktet. Die seit 1994 produzierte Mikrocontrollerreihe wird heute in verschiedenen Variationen vertrieben. Neben einem auf einem Motorola (seit …   Deutsch Wikipedia

  • PERL — Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle  …   Deutsch Wikipedia

  • Tim Towtdi — Perl Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle  …   Deutsch Wikipedia

  • Timtowtdi — Perl Paradigmen: prozedural, modular, teilweise objektorientiert Erscheinungsjahr: 1987 Entwickler: Larry Wall, Perl Porter Aktuelle  …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”