| |
|
|
| Variablen werden automatisch deklariert. Sie sind lokal und typen-dynamisch.
Der Wertetyp einer Variablen entspricht immer dem Werte-Type der letzten Zuweisung.
i=1// nun i Typ long
i="Hallo"// nun i Typ string
i=1.1// nun i Typ float
Es können auch in einem Rutsch komplexe Strukturen definiert werden:
myvar=[ "wald1"=[ "äpfel"=20 "birnen"=30 ] "stadt"=[ "autos"=20 "züge"=[
] ] Das Selbe mit OOP-Schreibweise:
Möglichkeiten bei numerischen Schlüsseln:
Jedoch:
b=5
print a.b//entspricht nicht a.5 sondern a["b"]
//
print a[b]//entspricht a[5]
Stringkonstanten können mit " sowie - was recht praktisch ist - mit ' umschlossen definiert werden.
Für Arrays einfach in eckiger Klammer kommagetrennte Werte: [10,20,30,...]
Wird auf eine Stringvariable wie ein Array zugegriffen per eckicke Klammern so kann auf jedes einzelne Zeichen zurückgegriffen werden als wäre der String ein CharArray:
a="test"
print a[2]//gibt s aus
//auch Möglich:
print "test"[2]// gibt s aus
Hinweis: Assoziative Arrays mit OOP-Schreibweise nutzen:
Datentyp einer Variablen ermitteln:
Siehe auch: § 5 - Datentypen |
|
|
| |
|
|
|
Michael W. | Bekommt String dann Untertypen? Ansistring, Widestring16, Utf-8
So etwas ähnliches läuft ja bei FreePascal... Welchen Stringtyp nutzt Android denn überhaupt. |
|
|
| XProfan X3System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 02.12.2014 ▲ |
|
|
|
|
| Ich werde alles möglichst nach UTF8 ausrichten.
Android nativ nutzt imho auch "nur" ansi, die Apps hingegen können sonstwelche Zeichensätze verwenden. |
|
|
| |
|
|
|
| Stringkonstanten Schreibweise
Nachtrag: Stringkonstanten können nicht nur mit " und ' umschlossen definiert werden sondern auch per Akut ´ ( [...] ) .
Das hat so viele Vorteile.
Beispielsweise kann man die Zeichenfolge(n)
Max's Burger -> "Max's Burger", Max "Jonas" Mustermann -> 'Max "Jonas" Mustermann', Max's Burger "Jonas" Mustermann -> ´Max's Burger "Jonas" Mustermann´
definieren. |
|
|
| |
|
|
|
| Arrays Schreibweise
Nachtrag: Habe lange hin und her überlegt (haha, grüble quasi schon seit jahren dran), welche die einfachste aber meiner Meinung nach auch sinnvollste Arrayschreibweise sein könnte z.B. auch wenn man Arrays als Parameter übergeben möchte aber ohne eine Variable zu deklarieren.
Oder einfacher: Wie soll ein var aussehen für ein Array das gleich Werte bekommt. Nun habe ich eine imho sehr saubere Lösung:
Am Beispiel der Funktion Input kann man es gut erklären.
Momentan Parameter: Titel, Vorgabe, ButtonsBeschriftungenAlsArray.
Und so gehts: KompilierenMarkierenSepariereninput "Titel","VorgabeText",["Button1-Text","Button2-Text",...]
//oder
var meinArray=[10,20,30]
Ich find' das "perfekt". Einfach nur die eckigen Klammern ohne Bingbong und Klimperdideldu.
@Roland: Vlt. kannst Du auch für XProfan X3 diese Schreibweise übersetzen? Ich halte das einfach fürs Beste. Das Schlüsselwort Array ist damit überflüssig. |
|
|
| |
|
|
|
| Nachtrag:
2 neue Typen: Null und Bool
sind hinzugekommen zu: Long, Float, String, Array und Proc
Wobei der Typ null auch immer den Wert null hat, nicht 0!
Beispielsweise können die Datum- und Zeitfunktionen null zurück liefern z.B. bei ungültigen Operationen aber auch 0 als gültigen Wert. |
|
|
| |
|
|
|
| Die einzelnen Werte von Arrays können unterschiedlichen Typs sein:
var a=[10,20,"Hallo",10.5,["Test",50,null,60,[true,false,msgbox],true,100],false,200] |
|
|
| |
|
|
|
| Stringspecial: wird auf eine Stringvariable wie ein Array zugegriffen per eckicke Klammern so kann auf jedes einzelne Zeichen zurückgegriffen werden als wäre der String ein CharArray:
var a="test" print a[2] //gibt s aus
auch Möglich:
print "test"[2] // gibt s aus |
|
|
| |
|
|
|
| Eine Variable darf nicht genau so heißen wie eine Proc oder ein vom Befehlssatz bereitgestelltes Schlüsselwort. |
|
|
| |
|
|