Skyrim:Operator Reference: Unterschied zwischen den Versionen

Aus Skript-Wiki
Wechseln zu: Navigation, Suche
K (Die Seite wurde neu angelegt: Die Folgenden sind gültige Operatoren in der Papyrus-Sprache: () [] , = + - * / % . "" ! == !=> <>= <= || && += -= *= /= %= as == Klammern == () Klamme...)
 
K (Textersetzung - „tesscript>“ durch „papyrusscript>“)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 13: Zeile 13:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; i bekommt den Wert 9
 
; i bekommt den Wert 9
 
i = (1 + 2) * 3
 
i = (1 + 2) * 3
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; Ruft die Funktion MyFunction mit dem Parameter 10 auf
 
; Ruft die Funktion MyFunction mit dem Parameter 10 auf
 
MyFunction(10)
 
MyFunction(10)
</tesscript>
+
</papyrusscript>
  
 
== Eckige Klammern ==
 
== Eckige Klammern ==
Zeile 28: Zeile 28:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; i bekommt den Wert des Elementes  0 des Arrays
 
; i bekommt den Wert des Elementes  0 des Arrays
 
i = myArray[0]
 
i = myArray[0]
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; definiere ein Array der Länge 10
 
; definiere ein Array der Länge 10
 
int[] myArray = new int[10]
 
int[] myArray = new int[10]
</tesscript>
+
</papyrusscript>
  
 
== Komma ==
 
== Komma ==
Zeile 43: Zeile 43:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; ruft die Funktion MyFunction mit den Parametern 10 und 20 auf
 
; ruft die Funktion MyFunction mit den Parametern 10 und 20 auf
 
MyFunction(10, 20)
 
MyFunction(10, 20)
</tesscript>
+
</papyrusscript>
  
 
== Mathematische Operatoron ==
 
== Mathematische Operatoron ==
Zeile 54: Zeile 54:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; i bekommt den Wert 7
 
; i bekommt den Wert 7
 
i = 1 + 2 * 3
 
i = 1 + 2 * 3
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; i bekommt den Wert 1
 
; i bekommt den Wert 1
 
i = 9 % 4
 
i = 9 % 4
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; bekommt den String "Hello World"
 
; bekommt den String "Hello World"
 
i = "Hello " + "World"
 
i = "Hello " + "World"
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
 
Das nächste Beispiel wird nicht übersetzt wie vielleicht erwartet, weil das Minuszeichen ebenfalls für die Negation genutzt wird
 
Das nächste Beispiel wird nicht übersetzt wie vielleicht erwartet, weil das Minuszeichen ebenfalls für die Negation genutzt wird
<tesscript>
+
<papyrusscript>
 
int x
 
int x
 
int y
 
int y
 
x = 22
 
x = 22
 
y = x-1 ; compiler: keine realisierbare Alternative am Input 'x'
 
y = x-1 ; compiler: keine realisierbare Alternative am Input 'x'
</tesscript>
+
</papyrusscript>
  
 
== Punkt ==
 
== Punkt ==
Zeile 82: Zeile 82:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
, ruft die Funktion auf der Variablen auf
 
, ruft die Funktion auf der Variablen auf
 
  myVariable.MyFunction()
 
  myVariable.MyFunction()
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; Setzt die Property auf 10
 
; Setzt die Property auf 10
 
myVariable.MyProperty = 10
 
myVariable.MyProperty = 10
</tesscript>
+
</papyrusscript>
  
 
== Anführungszeichen ==
 
== Anführungszeichen ==
Zeile 97: Zeile 97:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; ein elementarer ‚hello world‘-String
 
; ein elementarer ‚hello world‘-String
 
hello = "Hello World!"
 
hello = "Hello World!"
</tesscript>
+
</papyrusscript>
  
 
== Logische Operatoren ==
 
== Logische Operatoren ==
Zeile 109: Zeile 109:
 
*Der AND Operator (&&) wird True wenn beide Ausdrücke auf der rechten und linken Seite des Operators True sind. Er wird kurzgeschlossen, wenn der linke Ausdruck False ist (die Auswertung des rechten Ausdruckes wird überhaupt nicht mehr durchgeführt)  
 
*Der AND Operator (&&) wird True wenn beide Ausdrücke auf der rechten und linken Seite des Operators True sind. Er wird kurzgeschlossen, wenn der linke Ausdruck False ist (die Auswertung des rechten Ausdruckes wird überhaupt nicht mehr durchgeführt)  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; i wird true wenn sowohl a als auch b true sind
 
; i wird true wenn sowohl a als auch b true sind
 
i = a && b
 
i = a && b
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; i wird true wenn a false ist
 
; i wird true wenn a false ist
 
i = !a
 
i = !a
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
;der Kurzschluss kann sicherstellen, dass eine Referenz existiert, bevor man etwas damit macht   
 
;der Kurzschluss kann sicherstellen, dass eine Referenz existiert, bevor man etwas damit macht   
 
if ref && ref.HasKeyword(VendorItemClutter)
 
if ref && ref.HasKeyword(VendorItemClutter)
</tesscript>
+
</papyrusscript>
  
 
== Vergleichs-Operatoren ==
 
== Vergleichs-Operatoren ==
Zeile 135: Zeile 135:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; i  wird  true wenn a größer als b ist
 
; i  wird  true wenn a größer als b ist
 
i = a> b
 
i = a> b
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; i  wird  true wenn a gleich als b ist
 
; i  wird  true wenn a gleich als b ist
 
i = a == b
 
i = a == b
</tesscript>
+
</papyrusscript>
  
 
== Zuweisungs-Operatoren ==
 
== Zuweisungs-Operatoren ==
Zeile 150: Zeile 150:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; weise i 10 zu
 
; weise i 10 zu
 
i = 10
 
i = 10
</tesscript>
+
</papyrusscript>
 
<br>
 
<br>
<tesscript>
+
<papyrusscript>
 
; füge dem aktuelle Wert von i 1 hinzu und weise das Ergebnis i zu i
 
; füge dem aktuelle Wert von i 1 hinzu und weise das Ergebnis i zu i
 
i += 1
 
i += 1
</tesscript>
+
</papyrusscript>
  
 
== Cast ==
 
== Cast ==
Zeile 165: Zeile 165:
  
 
Beispiele:
 
Beispiele:
<tesscript>
+
<papyrusscript>
 
; castet a zu einem Float und weist den Wert i zui
 
; castet a zu einem Float und weist den Wert i zui
 
i = a as float
 
i = a as float
</tesscript>
+
</papyrusscript>
  
 
== Operatorrangfolge ==
 
== Operatorrangfolge ==
Zeile 210: Zeile 210:
 
{{Übersetzung|ckwiki|Operator Reference}}
 
{{Übersetzung|ckwiki|Operator Reference}}
  
[[Category:Papyrus| Operator Reference]]
+
[[Category:Papyrus|Operator Reference]]
[[Category:Scripting Wissen| Operator Reference]]
+
[[Category:Scripting Wissen|Operator Reference]]
[[Category:Papyrus Sprachreferenzen| Operator Reference]]
+
[[Category:Papyrus Sprachreferenzen|Operator Reference]]

Aktuelle Version vom 13. August 2012, 12:58 Uhr

Die Folgenden sind gültige Operatoren in der Papyrus-Sprache:

() [] ,  =  +  -
*  /  %  .  "" !
== !=>  <>= <=
|| && += -= *= /=
%= as

Klammern

()

Klammern erzwingen die Auswertung eines Ausdruckes innerhalb der Klammer, bevor Operationen außerhalb der Klammern stattfinden. Wenn sie einer Funktion folgen, enthalten sie die Parameterliste für die Funktion.


Beispiele: <papyrusscript>

i bekommt den Wert 9

i = (1 + 2) * 3 </papyrusscript>
<papyrusscript>

Ruft die Funktion MyFunction mit dem Parameter 10 auf

MyFunction(10) </papyrusscript>

Eckige Klammern

[]

Eckige Klammern werden für Arrays genutzt, um entweder auf ein bestimmtes Array-Element zuzugreifen oder um die Länge eines neuen Arrays festzulegen oder um festzulegen, dass ein Typ ein Array-Typ ist.

Beispiele: <papyrusscript>

i bekommt den Wert des Elementes 0 des Arrays

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

definiere ein Array der Länge 10

int[] myArray = new int[10] </papyrusscript>

Komma

,

Der Komma-Operator trennt Parameter in einer Funktionsdefinition oder einem Funtionsaufruf.

Beispiele: <papyrusscript>

ruft die Funktion MyFunction mit den Parametern 10 und 20 auf

MyFunction(10, 20) </papyrusscript>

Mathematische Operatoron

+ - * / %

Mathematische Operatoron führen einige Arten von Operationen auf den zwei Ausdrücken aus, zwischen denen es sitzt. Papyrus unterstützt Zuweisung, Addition, Subtraktion, Multiplikation, Division und den als Integer-Modulus Integer-Modulus. Das Minus-Zeichen wird ebenfalls für die Negation benutzt (auch bekannt als Unäres Minus. Der Additions-Operator wird auch benutzt, um Strings zusammen zu fügen.

Beispiele: <papyrusscript>

i bekommt den Wert 7

i = 1 + 2 * 3 </papyrusscript>
<papyrusscript>

i bekommt den Wert 1

i = 9 % 4 </papyrusscript>
<papyrusscript>

bekommt den String "Hello World"

i = "Hello " + "World" </papyrusscript>
Das nächste Beispiel wird nicht übersetzt wie vielleicht erwartet, weil das Minuszeichen ebenfalls für die Negation genutzt wird <papyrusscript> int x int y x = 22 y = x-1 ; compiler: keine realisierbare Alternative am Input 'x' </papyrusscript>

Punkt

.

Der Punkt-Operator nach einem Variablennamen dient dazu, Funktionen auf ihr aufzurufen oder um auf Properties zuzugreifen.

Beispiele: <papyrusscript> , ruft die Funktion auf der Variablen auf

myVariable.MyFunction()

</papyrusscript>
<papyrusscript>

Setzt die Property auf 10

myVariable.MyProperty = 10 </papyrusscript>

Anführungszeichen

""

Anführungszeichen umschließen String Literals.

Beispiele: <papyrusscript>

ein elementarer ‚hello world‘-String

hello = "Hello World!" </papyrusscript>

Logische Operatoren

! || &&

Logische Operatoren führen zu Werten „True“ (wahr) oder „False“ (falsch) abhängig von ihrem Ausdruck.

  • Der NOT Operator (!) wird True wenn der einfache Ausdruck (auf der rechten Seite des Operators) False ist und False wenn er True ist.
  • Der OR Operator (||) wird True wenn einer der Ausdrücke auf der rechten oder linken Seite des Operators True ist. Er wird kurzgeschlossen, wenn der linke Ausdruck True ist (die Auswertung des rechten Ausdruckes wird überhaupt nicht mehr durchgeführt)
  • Der AND Operator (&&) wird True wenn beide Ausdrücke auf der rechten und linken Seite des Operators True sind. Er wird kurzgeschlossen, wenn der linke Ausdruck False ist (die Auswertung des rechten Ausdruckes wird überhaupt nicht mehr durchgeführt)

Beispiele: <papyrusscript>

i wird true wenn sowohl a als auch b true sind

i = a && b </papyrusscript>
<papyrusscript>

i wird true wenn a false ist

i = !a </papyrusscript>
<papyrusscript>

der Kurzschluss kann sicherstellen, dass eine Referenz existiert, bevor man etwas damit macht

if ref && ref.HasKeyword(VendorItemClutter) </papyrusscript>

Vergleichs-Operatoren

== != <> <=>=

Die Vergleichs-Operatoren vergleichen beide Ausdrücke auf ihren linken und rechten Seite und geben einen booleschen Wert abhängig vom genutzten Operator aus. Wenn Gleitkommazahlen verglichen werden, wird ein kleines Epsilon berücksichtigt, um dem Fehler bei Gleitkommazahlen-berechnungen zu begegnen.

  • Gleichheit (==) gibt true zurück wenn beide Ausdrücke gleiche Werte haben.
  • Ungleichheit (!=) gibt true zurück wenn beide Ausdrücke ungleiche Werte haben.
  • Kleiner-als (<) gibt true zurück wenn der Wert des rechten Ausdrucks kleiner als der des linken ist
  • Größer-als (>) gibt true zurück wenn der Wert des rechten Ausdrucks größer als der des linken ist
  • Kleiner-als oder gleich (<=) gibt true zurück wenn der Wert des rechten Ausdrucks kleiner als der des linken oder gleich ist
  • Größer -als oder gleich (>=) gibt true zurück wenn der Wert des rechten Ausdrucks größer als der des linken oder gleich ist

Beispiele: <papyrusscript>

i wird true wenn a größer als b ist

i = a> b </papyrusscript>
<papyrusscript>

i wird true wenn a gleich als b ist

i = a == b </papyrusscript>

Zuweisungs-Operatoren

= += -= *= /= %=

Zuweisungs-Operatoren weisen den Wert des rechten Ausdrucks der Variablen (oder Property) des linkes Ausdrucks zu. Wenn das Gleichheitszeichen einen mathematischen Operator vorangestellt bekommen hat, dann wird der Wert des rechten Ausdrucks dem aktuellen Wert des linken Ausdrucks hinzugefügt und dann dem linken Ausdrucks zugewiesen. Beachte, wenn der linke Ausdruck eine Property ist, werden sowohl die Get- als auch die Set-Funktion aufgerufen.

Beispiele: <papyrusscript>

weise i 10 zu

i = 10 </papyrusscript>
<papyrusscript>

füge dem aktuelle Wert von i 1 hinzu und weise das Ergebnis i zu i

i += 1 </papyrusscript>

Cast

as

Der cast-Operator versucht, den Wert des linken linke Ausdrucks in den Typ des rechten zu casten (d.h. umzuwandeln) und den Wert des Ergebnisses zurück zu geben.

Beispiele: <papyrusscript>

castet a zu einem Float und weist den Wert i zui

i = a as float </papyrusscript>

Operatorrangfolge

Die Operatorrangfolge ist in der folgenden Tabelle vom höchsten zum niedrigsten gelistet

() Mathematische Klammern
. Punkt-Operator (für den Zugriff auf Funktionen und Properties)
as Cast-Operator
- ! Unäres Minus und logisches NOT
* / % Multiplikation, Division und Integer-Modulus
+ - Addition und Subtraktion
== !=> <>= <= Vergleichs-Operatoren
&& Logisches AND
|| Logisches OR
= += -= *= /= %= Zuweisung

Links