Zum Inhalt springen

„Script.NET“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K wikilinks
KKeine Bearbeitungszusammenfassung
Zeile 22: Zeile 22:


== Metaprogrammierung ==
== Metaprogrammierung ==

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


Zeile 34: Zeile 33:


== Beispiele ==
== Beispiele ==

=== [[Hallo-Welt-Programm|Hallo, Welt!]] ===
=== [[Hallo-Welt-Programm|Hallo, Welt!]] ===

<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
MessageBox.Show('Hallo, Welt!');
MessageBox.Show('Hallo, Welt!');
Zeile 42: Zeile 39:


=== [[Bubblesort]] ===
=== [[Bubblesort]] ===

<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
zahlen = [5, 9, 1979, 23, 9, 1979];
zahlen = [5, 9, 1979, 23, 9, 1979];
Zeile 85: Zeile 81:
* [[.Net|Microsoft .NET]]
* [[.Net|Microsoft .NET]]
* [[Liste der .NET-Sprachen]]
* [[Liste der .NET-Sprachen]]
* [http://www.protsyk.com/scriptdotnet/runcode.html Script.NET On-Line]
* {{Webarchiv|url=http://www.protsyk.com/scriptdotnet/runcode.html|wayback=20120714235701|text=Script.NET On-Line}}


== Weblinks ==
== Weblinks ==

Version vom 21. Mai 2018, 19:50 Uhr

Script.NET
Basisdaten
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)
http://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 Umgebung Microsoft .NET auszuführen und während der Laufzeit zu verändern. Die Syntax ist sehr stark von JavaScript beeinflusst.

Metaprogrammierung

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);

Beispiele

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('http://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);

Siehe auch