Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:cachevariables

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:cachevariables [2022/05/14 11:57] – [Relational operators and conditions] lineflyerde:cachevariables [2022/11/25 11:59] (aktuell) – [Wertebereiche] Neue Syntax für Variablenbereiche lineflyer
Zeile 1: Zeile 1:
-FIXME **Diese Seite wurde noch nicht vollständig übersetzt. Bitte helfen Sie bei der Übersetzung.**\\ //(diesen Absatz entfernen, wenn die Übersetzung abgeschlossen wurde)// 
- 
 ====== Cache-Variablen ====== ====== Cache-Variablen ======
  
Zeile 74: Zeile 72:
  
 ^ Typ ^ Beschreibung ^ Anwendung ^ Bedeutung ^ ^ Typ ^ Beschreibung ^ Anwendung ^ Bedeutung ^
-|Integer | Zahlen ohne Dezimalstellen | Nutze Zahlen | ''1234'', ''-3''+|Ganzzahlen (Integer| Zahlen ohne Dezimalstellen | Nutze Zahlen | ''1234'', ''-3''
-|Dezimal | Zahlen mit Dezimalstellen | Nutze Zahlen mit Punkt oder Komma | ''3.14'', ''-3.14'', ''3,14''+|Dezimalzahlen (Decimal) | Zahlen mit Dezimalstellen | Nutze Zahlen mit Punkt oder Komma | ''3.14'', ''-3.14'', ''3,14''
-|String | Text | Umgebe Text mit ''%%'%%'' oder ''%%"%%''\\  Um die Symbole ''%%'...'%%'' oder ''%%"..."%%'' selbst zu nutzen, gib ''%%''%%'' oder ''%%""%%'' ein| ''%%'test'%%'', ''%%"test"%%''\\ ''"Er sagt ""ja""!"''|+|Text (String| Text | Umgebe Text mit ''%%'%%'' oder ''%%"%%''\\  Um die Symbole ''%%'...'%%'' oder ''%%"..."%%'' selbst zu nutzen, gib ''%%''%%'' oder ''%%""%%'' ein| ''%%'test'%%'', ''%%"test"%%''\\ ''"Er sagt ""ja""!"''|
  
  
Zeile 89: Zeile 87:
 |''/''|Division|''12/3'' ergibt ''4''| |''/''|Division|''12/3'' ergibt ''4''|
 |''%''|Modulo|''12%5'' ergibt ''2''| |''%''|Modulo|''12%5'' ergibt ''2''|
-|''^''|Potenzieren|''3^3'' ergibt ''9''|+|''^''|Potenzieren|''3^3'' ergibt ''27''|
 |''!''|Faktorisieren|''4!'' ergibt ''24''| |''!''|Faktorisieren|''4!'' ergibt ''24''|
  
Zeile 110: Zeile 108:
  
  
-^ Operator ^ Meaning Example +^ Operator ^ Bedeutung Beispiel 
-|''==''Checks for equality | ''2==2'' evaluates to ''1''(=true)| +|''==''Prüft Gleichheit | ''2==2'' ergibt ''1''(=wahr)| 
-| ''<>''Checks for inequality. | ''3<>2'' evaluates to ''1''(=true)| +| ''<>''Prüft Ungleichheit | ''3<>2'' ergibt ''1''(=Wahr)| 
-|''<''Is less than | ''3<4'' evaluates to ''1''(=true)| +|''<''Ist kleiner als | ''3<4'' ergibt ''1''(=wahr)| 
-| ''<=''Is less or equal than | ''3<=3'' evaluates to ''1''(=true)| +| ''<=''Ist kleiner oder gleich als | ''3<=3'' ergibt ''1''(=wahr)| 
-|''>''Is greater than | ''3>4'' evaluates to ''0''(=false)| +|''>''Ist größer als | ''3>4'' ergibt ''0''(=falsch)| 
-|''>=''Is greater or equal than | ''5>=5'' evaluates to ''1''(=true)|+|''>=''Ist größer oder gleich als | ''5>=5'' ergibt ''1''(=wahr)|
  
-==== Functions ====+==== Funktionen ====
  
-Functions all start with a lettercontain only letters and digits and have a directly attached parameter list in parenthesisMultiple parameters are separated using '';''.+Funktionen starten alle mit einem Buchstabenenthalten nur Buchstaben oder Ziffern und haben eine direkt daran angeschlossene Liste von Parametern, die in Klammern stehenMehrere Parameter werden dabei durch '';'' getrennt.
  
-An example for a one-parameter function call is ''sin(90)''An example for a two-parameter function call is ''rot('test'; 13)''.+Ein Beispiel für einen Funktionsaufruf mit einem Parameter ist ''sin(90)''Ein Beispiel für einen Funktionsaufruf mit zwei Parametern ist ''rot('test'; 13)''.
  
-The following functions are defined:+Die folgenden Funktionen sind definiert:
  
-Function Synonyms Description Parameter1 ^ Parameter 2 ^ Example +Funktion Synonym Beschreibung Parameter 1 ^ Parameter 2 ^ Beispiel 
-|''sqrt''|-|calculates square root of given parameter|numeric parameter| - |''sqrt(9)'' evaluates to ''3''+|''sqrt''|-|Berechnet die Quadratwurzel des gegebenen Parameters|Numerischer Parameter| - |''sqrt(9)'' ergibt ''3''
-|''sin''/''cos''/''tan'' |-| calculates sinus/cosinus/tangens of given parameter numeric parameter in degree(!)| - | ''sin(90)'' evaluates to ''1''+|''sin''/''cos''/''tan'' |-| Berechnet Sinus/Cosinus/Tangens des gegebenen Parameters Numerischer Parameter in Grad(!)| - | ''sin(90)'' ergibt ''1''
-|''abs''|-| calculates absolute value numeric parameter | - | ''abs(-34)'' evaluates to ''34''+|''abs''|-| Berechnet den absoluten Wert Numerischer Parameter | - | ''abs(-34)'' ergibt ''34''
-|''round''|-| rounds decimal values mathematically value to round optionalnumber of places to round to | ''round(4.65)'' evaluates to ''5'', ''round(4.65;1)'' evaluates to ''4.7''+|''round''|-| Rundet Dezimalwerte mathematisch Zu rundender Wert OptionalAnzahl der Stellen für die Rundung | ''round(4.65)'' ergibt ''5'', ''round(4.65;1)'' ergibt ''4.7''
-|''if''|-| evaluates conditions and returns conditional values list of if-then-else-valuesSee previous section for details | - | ''if(3<4;5;6)'' evaluates to ''5''+|''trunc''|-| Schneidet Dezimalwerte auf die (optional) angegebene Anzahl von Stellen Abzuschneidender Wert | Optional: Anzahl Nachkommastellen, die nach dem Abschneiden verbleiben sollen (Standard:0)| ''trunc(123.456)'' ergibt ''123'', ''trunc(123.456;2)'' ergibt ''123.45''
-|''checksum''|''cs''calculates checksum of given numeric valueCalculates lettervalue if given paramter is of type text positive integer or text | - | ''checksum(345)'' evaluates to ''12''+|''if''|-| Wertet Bedingungen aus und gibt davon abhängige Werte zurück| Liste von wenn-dann-sonst Werten. Siehe vorheriges Kapitel für Details. | - | ''if(3<4;5;6)'' ergibt ''5''
-|''ichecksum''|''ics''calculates iterative checksum of given numeric valueStarts from lettervalue if given parameter is of type text positive integer or text | - | ''ichecksum(345)'' evaluates to ''3''+|''checksum''|''cs''Berechnet die Quersumme des angegebenen numerischen WertesBerechnet den Buchstabenwert, wenn der angegebene Parameter ein Text ist Positive Ganzzahlen oder Text | - | ''checksum(345)'' ergibt ''12''
-|''lettervalue''|''lv'', ''wordvalue'', ''wv''calculates lettervalue of given string value string | - | ''lettervalue('test')'' evaluates to ''64''+|''ichecksum''|''ics''Berechnet die absolute/iterierte Quersumme des angegebenen numerischen Wertes. Startet beim Buchstabenwert, wenn der angegebene Parameter ein Text ist. | Positive Ganzzahl oder Text | - | ''ichecksum(345)'' ergibt ''3''
-|''rot''|-| calculates rotated string of given string value string count to rotate by | ''rot('abc'; 1)'' evaluates to '''bcd'''+|''lettervalue''|''lv'', ''wordvalue'', ''wv''Berechnet den Buchstabenwert des angegebenen Textes Text | - | ''lettervalue('test')'' ergibt ''64''
-|''rot13''|-| calculates rotated-13 of given string value string | - | ''rot13('abc')'' evaluates to '''nop'''+|''rot''|-| Berechnet einen rotierten Text aus dem angegebenen Text Text Anzahl der zu rotierenden Stellen | ''rot('abc'; 1)'' ergibt '''bcd'''
-|''roman''|-| scans a given string value as a roman number and returns its decimal value string | - | ''roman('VI')'' evaluates to ''6''.| +|''rot13''|-| Berechnet den ROT-13 Wert aus dem angegebenen Text Text | - | ''rot13('abc')'' ergibt '''nop'''
-|''vanity''|''vanitycode'', ''vc''returns the vanity code of a string string | - | ''vanity('cgeo')'' evaluates to ''2436''.|+|''roman''|-| Durchsucht einen gegebenen Text nach römischen Zahlen und gibt den dezimalen Wert zurück Text | - | ''roman('VI')'' ergibt ''6''.| 
 +|''vanity''|''vanitycode'', ''vc''Gibt den Vanity-Code eines Textes zurück Text | - | ''vanity('cgeo')'' ergibt ''2436''.|
  
  
-==== Variables ====+==== Variablen ====
  
-Variables are used in a formula as placeholders for valuesWhen a formula containing a variable is evaluatedit needs to be passed a value for each of the contained variables in order to be correctly evaluated+Variablen werden in Formeln als Platzhalter für Werte verwendetWenn eine Formel berechnet wirddie eine Variable enthält, benötigt diese einen Wert für jede enthaltene Variable, damit sie korrekt berechnet wird.
  
-Variable names are case sensitive and have to start with an alphanumeric charRemaining chars can be alphanumeric or digits.  +Namen von Variablen unterscheiden Groß-/Kleinschreibung und müssen mit einem Buchstaben beginnenDie restlichen Zeichen können Buchstaben oder Ziffern sein
-Examples for legal variable names are: ''Test'', ''T1'', ''t'', ''Tt123''Examples for non-legal variable names are: ''1a'', ''2''+Beispiel für gültige Variablennamen sind: ''Test'', ''T1'', ''t'', ''Tt123''Beispiele für ungültige Variablennamen sind: ''1a'', ''2''.
  
-One-letter-variables can just be typed into the formula and will be evaluated along. For examplethe formula ''A + 2'' is validIf ''A'' has the value ''5'', the formula will evaluate to ''7''.+Variablendie nur aus einem Buchstaben bestehen, können einfach in Formeln eingegeben werden und werden direkt ausgewertet. 
 +Zum Beispiel ist die Formel ''A + 2'' gültigWenn ''A'' den Wert ''5'' hatergibt die Formel ''7''.
  
-If multiple chars are concatenated within a formulathey will be interpreted as individual one-letter-variablesFor example, the formula ''AA + 2'' will be interpreted as variable ''A'' concatenated two times and adding ''2'' afterwardsIf ''A=4'', this formula will evaluate to ''44 + 2 = 46''See following section for more details wrt concatenation.+Wenn mehrere Buchstaben in einer Formel direkt hintereinander geschrieben werdenwerden diese als Wiederholung dieser Ein-Buchstaben-Variable angesehenZum Beispiel wird die Formel ''AA + 2'' als zweifache Verwendung der Variable ''A'' interpretiert und die ''2'' anschließend addiertWenn ''A=4'' istergibt diese Formel somit ''44 + 2 = 46''Das folgende Kapitel gibt mehr Informationen zum Thema Verketten von Variablen.
  
-Variable names longer than one char can be declared in Unix-Bash-Style by prepending their name with ''$''For example, a variable named ''Test'' is can be referenced using ''$Test''The formulua ''$Test + 2'' is validIf value for variable ''Test'' is ''4'' the formula will evaluate to ''6''+Namen von Variablen mit mehr als einem Buchstaben können im Unix-Bash-Stil verwendet werden, in dem ihnen ein ''$'' vorausgestellt wird. 
 +Beispielsweise kann eine Variable mit der Bezeichnung ''Test'' verwendet werden, in dem in Formeln ''$Test'' eingesetzt wirdDie Formel ''$Test + 2'' ist somit gültigWenn die Variable ''Test'' gleich ''4'' ist, ergibt die Formel eine ''6''.
  
-In situations where variable name conflicts with following alphas/charsthe variable name can be enclosed in ''{}'' to differentiate it from following text. For examplethe following expression will concatenate the value of variable ''Test'' with the value of variable ''A'': ''${Test}A'' +In Situationenwo Variablennamen in Konflikt mit darauffolgenden Buchstaben stehen, können die Variablennamen in ''{}'' gesetzt werdenum diese vom folgenden Text zu trennen. Beispielsweise verkettet der folgende Ausdruck den Wert der Variable ''Test'' mit dem Wert der Variable ''A'': ''${Test}A''
-  +
-Some more complex examples:+
  
-  * The formula ''A + $A * $Test - t'' uses three variables named ''A'', ''Test'' and ''t''. The variable ''A'' is used in two places. Assuming ''A=2'', ''Test=3'' and ''t=1'', the formula would evaluate to ''7''+Einige weitere komplexe Beispiele:
-  * The formula ''AA + b + $A1'' uses three variables ''A'', ''b'' and ''A1''. Assuming ''A=2'', ''b=3'' and ''A1=4'', the formula would evaluate to ''29'' ( = 22 + 3 + 4) +
-  * The formula ''AB(B+1)'' uses two variables ''A'' and ''B''. Assuming ''A=2'' and ''B=3'', the formula would evaluate to ''234''  +
-  * The formula ''$AB(B)(B+1)'' uses two variables ''AB'' and ''B''. Assuming ''AB=2'' and ''B=5'', the formula would evaluate to ''256''  +
-  * Using ''{}'' syntax, the previous example could also be written like this''${AB}B(B+1)''+
  
-==== Concatenations ====+  * Die Formel ''A + $A * $Test - t'' nutzt drei Variablen, nämlich  ''A'', ''Test'' und ''t''. Die Variable ''A'' wird an zwei Stellen verwendet. Angenommen ''A=2'', ''Test=3'' und ''t=1'' ergibt die Formel ''7''
 +  * Die Formel ''AA + b + $A1'' nutzt drei Variablen, nämlich ''A'', ''b'' und ''A1''. Angenommen ''A=2'', ''b=3'' und ''A1=4'' ergibt die Formel ''29''22 + 3 + 4) 
 +  * Die Formel ''AB(B+1)'' nutzt zwei Variablen, nämlich ''A'' und ''B''. Angenommen ''A=2'' und ''B=3'' ergibt die Formel ''234''  
 +  * Die Formel ''$AB(B)(B+1)'' nutzt zwei Variablen, nämlich ''AB'' und ''B''. Angenommen ''AB=2'' und ''B=5''ergibt die Formel ''256''  
 +  * Nutzt man die ''{}''-Syntax könnte das vorherige Beispiel auch wie folgt geschrieben werden: ''${AB}B(B+1)''
  
-If multiple expressions are concatenated directly after another with no separating operator, values are concatenated to a consecutive expression. This expression evaluates to a number if it forms a valid numeric expression, otherwise it evaluates to a text value.+==== Verkettungen ====
  
-Expressionswhich can be concatenated, include e.g. integer digits, variablesexpressions in parenthesis and the Overflow character (see next subsection).+Wenn mehrere Ausdrücke direkt hintereinander ohne trennenden Operator verkettet werdenwerden deren Werte ebenso zu einem fortlaufenden Ausdruck verkettetDieser Ausdruck ergibt eine Zahl wenn es eine gültiger numerischer Ausdruck istsonst zu einem Textwert.
  
-For examplethe formula ''AA(A+4)55$Test(3)'' contains two variables ''A'' and ''Test''Assuming ''A=9'' and ''Test=70''it would evaluate to ''991355703''. +Ausdrückedie verketten werden können, sind z.B. GanzzahlenVariablen, Ausdrücke in Klammern und das Überlaufzeichen (siehe nächstes Unterkapitel).
-==== Overflow character ====+
  
-In concatenated expressionsthe character ''_'' can be used as an overflow sign. It is a placeholder for possible spillovers if numeric variables evaluate to a value with more than one digitotherwise it is filled with 0+Beispielsweise enthält die Formel ''AA(A+4)55$Test(3)'' zwei Variablen ''A'' und ''Test''Unter der Annahme, dass ''A=9'' und ''Test=70'' istergibt sich das Ergebnis der Formel als ''991355703''. 
 +==== Überlaufzeichen ====
  
-An example should make the usage clear:+In verketteten Ausdrücken, kann das Zeichen ''_'' als Überlaufkennzeichnung verwendet werden. Es ist ein Platzhalter für mögliche Überläufe wenn eine numerische Variable einen Wert ergibt, der mehr als eine Stelle hat. Ansonsten wird das Platzhalter mit einer 0 gefüllt.
  
-  * The Formula ''1A'' with ''A=2'' will evaluate to ''12'' +Ein Beispiel sollte die Nutzung klarer machen:
-  * The Formula ''1_A'' with ''A=2'' will evaluate to ''102'' +
-  * The Formula ''1_A'' with ''A=23'' will evaluate to ''123'' +
-  * The Formula ''%%1__A%%'' with ''A=23'' will evaluate to ''1023'' +
-  * The Formula ''%%1__%%A'' with ''A=234'' will evaluate to ''1234''+
  
 +  * Die Formel ''1A'' mit ''A=2'' ergibt ''12''
 +  * Die Formel ''1_A'' mit ''A=2'' ergibt ''102''
 +  * Die Formel ''1_A'' mit ''A=23'' ergibt ''123''
 +  * Die Formel ''%%1__A%%'' mit ''A=23'' ergibt ''1023''
 +  * Die Formel ''%%1__%%A'' mit ''A=234'' ergibt ''1234''
  
-==== Range expressions ==== 
  
-You can specify ranges in formulas using ''[]''This is needed when variables are used in a context where a range of values should be iterated overA prominent example is the [[.:waypointcalculator|Generate Waypoints]] function.+==== Wertebereiche ==== 
 + 
 +Du kannst in Formeln Wertebereiche angeben, in dem du ''[:]'' nutztDies wird benötigt, wenn du Variablen über einen bestimmten Wertebereich auswerten willstEin prominentes Beispiel ist die Funktion zur [[.:waypointcalculator|Generierung von Wegpunkten]].
  
 **FIXME** Link to anchor on waypoint calc page as soon as its updated to cover waypoint generation with ranges. **FIXME** Link to anchor on waypoint calc page as soon as its updated to cover waypoint generation with ranges.
  
-An example for a range expression is ''[0-9]''This specifies a range with 10 values (the integer values to 9).+Ein Beispiel für einen Wertebereich-Ausdruck ist ''[:0-9]''Dies gibt einen Bereich mit 10 Werte (die Zahlenwerte bis 9) an. 
 + 
 +Du kannst mit dem Trennzeichen '','' fortlaufende Werte angeben. Du kannst Werte oder Wertebereiche durch Voranstellen von ''^'' ausschließen. 
 +Die Bereiche werden von links-nach-rechts gelesen und ergeben daraus die Anordnung der Elemente im Bereich. Die folgenden Beispiele zeigen gültige Bereichsangaben: 
 +  
 +  * ''[:0-2, 4]'' ergibt einen Wertebereich, der ''0'', ''1'', ''2'' and ''4'' enthält. 
 +  * ''[:0-3, ^1-2]'' ergibt einen Wertebereich, der  ''0'' and ''3'' enthält. 
 +  * ''[:0-3, ^1-2, 5]'' ergibt einen Wertebereich, der  ''0'', ''3'' and ''5'' enthält. 
 + 
 +Wenn ein Wertebereich in einem Kontext verwendet wird, in dem nur ein Einzelwert erlaubt ist (das ist bei normalen Berechnungen der Fall), wird der erste Wert im Bereich für die Berechnung genommen. Beispielsweise wird der Wertebereich ''[0-9]'' in normalen Berechnungen als ''0'' angenommen, während ''[:8, 0-9]'' als ''8'' angenommen wird. 
 + 
 +Wertebereiche unterstützen aktuell nur positive konstante Ganzzahlen. Ein Bereich muss immer mindestens einen Wert und nicht mehr als zwanzig Werte enthalten 
 +Beispielsweise sind die folgenden Wertebereiche ungültig:
  
-You may specify consecutive values using '','' as a delimiter. You may exclude values or value ranges by prepending a ''^'' to it. Ranges are parsed from left-to-right, giving an order to the elements in the range. For example the following are valid range specifications+  * ''[:]'': leer 
-  * ''[0-2, 4]'' evaluates to a range containing ''0'', ''1'', ''2'' and ''4''. +  * ''[:5, ^0-9]'': ergibt leer 
-  * ''[0-3, ^1-2]'' evaluates to a range containing ''0'' and ''3''. +  * ''[:0-1000]'': ergibt mehr als zwanzig Werte 
-  * ''[0-3, ^1-2, 5]'' evaluates to a range containing ''0'', ''3'' and ''5''.+  * ''[:-5]'': negative Zahlen nicht erlaubt 
 +  * ''[:A]'': Variablen nicht erlaubt
  
-When a range is used in a context where only one value is allowed (this is the case in normal calculation), the first range value is used for calculation. For example, the expression ''[0-9]'' will evalulate to ''0'' in a normal calculation context, while ''[8, 0-9]'' will evalulate to ''8''.+Eine Formel kann eine oder mehrere Wertebereiche gemischt mit normalen anderen Formelelementen enthaltenZum Beispiel sind folgende Formeln gültig:
  
-Ranges currently support only positive constant integer values. A range must always be evaluate to at least 1 value and a range may not evaluate to more than 20 values. For example the following ranges are invalid: +  * ''3*[:0-2]'': ergibt die Werte ''0'', ''3'' und ''6'' 
-  * ''[]'': empty +  * ''A*[:4, 7]'': Für ''A=3'' ergibt dies die Werte ''12'' and ''21'' 
-  * ''[5, ^0-9]'': evaluates to empty +  * ''[:1-2]*[:3-4]'': ergibt ''3'', ''6'', ''4'' und ''8''.
-  * ''[0-1000]'': evaluates to more than 20 entries +
-  * ''[-5]'': negative int not allowed +
-  * ''[A]'': variables not allowed+
  
-A formula may include one or more range definitions mixed with normal other formula parts. For example the following formulas are valid: 
-  * ''3*[0-2]'': evaluates to values ''0'', ''3'' and ''6'' 
-  * ''A*[4, 7]'': for ''A=3'' this evaluates to values ''12'' and ''21'' 
-  * ''[1-2]*[3-4]'': evaluates to ''3'', ''6'', ''4'' and ''8''. 
  
 +==== Kommentare ====
  
-==== Comments ====+Durch Nutzung von ''#''  kannst du in Formeln auch Kommentare eintragen. Die Kommentare enden am nächsten ''#'' oder am Ende der Formel. 
 +Alles, was im Kommentar steht, wird während der Berechnung ignoriert. 
 +Beispiele:
  
-You may enter comments into formula expressions using the ''#'' character. Comments end at next ''#'' or at end of expressions. Everything in a comment is ignored during evaluation. For example: +  * ''A * 5 # Test Kommentar'' mit ''A=3'' ergibt ''15'' 
-  * ''A * 5 # test comment'' for ''A=3'' evaluates to ''15'' +  * ''3.14 # Das ist Pi # * 2 # und das ist zwei'' ergibt ''6.28''
-  * ''3.14 # this is pi # * 2 # and this is two'' evaluates to ''6.28''+
de/cachevariables.1652522224.txt.gz · Zuletzt geändert: 2022/05/14 11:57 von lineflyer