Script.NET – Wikipedia

Script.NET
Paradigmen: Skriptsprache
Entwickler: Petro Protsyk
Aktuelle Version: Beta 17122007  (17. Dezember 2007)
Typisierung: schwach, dynamisch, Duck-Typing
Beeinflusst von: JavaScript
Betriebssystem: alle mit CLR
Lizenz: GNU Lesser General Public License (LGPL)
https://www.protsyk.com/scriptdotnet/

Script .NET bzw. S# ist eine Programmiersprache, die sich Mechanismen der Metaprogrammierung bedient. Sie stellt dabei Funktionalitäten zur Verfügung, die es erlauben, Skripte in der Common Language Runtime (CLI) des .Net-Frameworks auszuführen und während der Laufzeit zu verändern. Die Syntax ist sehr stark von JavaScript beeinflusst.

Metaprogrammierung

[Bearbeiten | Quelltext bearbeiten]

In Script .NET existiert u. a. der spezielle Operator <[ Programmcode ]>, der den Abstract Syntax Tree (AST) eines Programms zurückgibt. Auf den AST des aktuellen Programms kann über das Objekt prog zugegriffen werden, wie das folgende Beispiel zeigt:

// AST erstellen, der eine MessageBox mit dem Ausdruck "Guten Tag!" ausgibt ast = <[ MessageBox.Show('Guten Tag!'); ]>;  // Programmcode dem aktuellen Programm anfügen prog.AppendAst(ast); 
MessageBox.Show('Hallo, Welt!'); 
zahlen = [5, 9, 1979, 23, 9, 1979];  for (i = 0; i < zahlen.Length; i++) {     for (j = i + 1; j < zahlen.Length; j++) {         if ( zahlen[j] < zahlen[i] ) {             // tauschen             temp      = zahlen[i];             zahlen[i] = zahlen[j];             zahlen[j] = temp;         }     } }  // Ausgabe erstellen ausgabe = 'Ergebnis: '; for (i = 0; i < zahlen.Length; i++) {     if (i > 0) {         ausgabe = ausgabe + ', ';     }     ausgabe = ausgabe + zahlen[i]; }  MessageBox.Show(ausgabe); 
rss = new XmlDocument(); rss.Load('https://www.tagesschau.de/xml/tagesschau-meldungen/');  MessageBox.Show('tagesschau.de Meldungen: ');  // Titel aller vorhandenen Themen/Meldungen ausgeben foreach (feed in rss.SelectNodes('/rss/channel/item/title'))     MessageBox.Show(feed.InnerText);