Skyrim:Array Reference

Aus Skript-Wiki
Wechseln zu: Navigation, Suche

Arrays sind Werte, die verschiedene andere Werte enthalten, die durch eine auf 0 basierende Nummer (0 ist das erste element, 1 ist das zweite und so fort) indexiert ist

Array Type

<array type> ::= <element type> '[' ']'

Ein Array-Typ ist gekennzeichnet durch den Typ und ein ihm angehängtes leeres Paar eckiger Klammern. Der Element-Typ darf nur ein Nicht-Array-Typ sein, multi-dimensionale Array sind also nicht erlaubt. Diese Typen können überall genutzt werden wo auch andere Typen genutzt werden – als Parameter, als Rückgabewert, als Variable, als Property-Typ.

Beispiele

<papyrusscript>

ein Integer-Array

int[] </tesscript >
< tesscript >

ein MyObjects-Array

MyObject[] </tesscript >

Erzeugen von Arrays

<array creation> ::= 'new' <element type> '[' <int> ']'

Um ein Array zu erzeugen, wird das „new“-Schlüsselwort genutzt, gefolgt vom Typ und er Größe. Die Größe ist gekennzeichnet durch den Integer-Wert zischen den eckigen Klammern. Dieser kann keine Variable sein, d.h. mit anderen Worten, dass die Größe des Array zur Übersetzungszeit definiert sein muss. Der Anfangswert jedes Elements ist der voreingestellte Wert für diesen Typ. Wenn man eine Array-Property macht, begrenzt das Creation Kit die Größe des Arrays auf die Anzahl der eingegebenen Elemente. Beachte dass das in einem Script außerhalb einer Funktion nicht vorkommt. Note that this cannot appear in the script outside of a function.

Beispiele

< tesscript >

Erzeuge ein Array mit 20 Floats

float[] x = new float[20] </papyrusscript>
<papyrusscript>

Erzeuge ein Array mit 5 MyScripts

MyScript[] x = new MyScript[5] </tesscript >

Array-Lämge

<array length> ::= <expression> '.' 'Length'

Um die Länge eines Arrays zu erhalten, kann man die Längen-Property (Read Only) der Variablen für das Array nutzen. Wenn die Variable None ist, ist die Längenabfrage immer noch möglich ist aber als Rückgabe 0 liefert. Beachte, dass der letzte gültige Index in einem Array die Arraylänge minus 1 ist.

Beispiele

<papyrusscript>

Bestimme die Länge des Arrays

int[] myArray = new int[10] x = myArray.Length ; x wird 10 </papyrusscript>
<papyrusscript>

Bestimme die Länge eines nicht initialisierten Arrays (None)

float[] myArray x = myArray.Length ; x wird 0 </papyrusscript>

Array-Elemente

<array access> ::= <expression> '[' <expression> ']'

Um ein bestimmtes Element eines Arrays zu erhalten, fügt man den Index des Elements in eckige Klammern ein. Dieser Wert kann auch ein Ausdruck sein oder ein Rückgabewerte einer Funktion oder sonst etwas. Die gültigen Elemente in einem Array gehen von 0 bis zur Arraylänge minus 1.

Beispiele

<papyrusscript>

Zugriff auf das erste Element im Array

x = myArray[0] </papyrusscript>
<papyrusscript>

Zugriff auf das letzte Element im Array

x = myArray[myArray.Length - 1] </papyrusscript>

Links