-
-
Notifications
You must be signed in to change notification settings - Fork 108
de microScript_cheatsheet
ben0bi edited this page Jan 16, 2024
·
1 revision
Das ist ein Cheatsheet für microScript 2.0
f = function()
local count = 0
while count < 100
(...)
end
end // Die Sichtbarkeit der lokalen Variable ended hier, wenn der Block endet.
Tipp:
- Benutze lokale Variablen für temporäre Werte in Funktionen.
- Mixe nicht lokale und globale Variablen mit dem selben Namen.
score = 0
level = 1
Variablen, die während einem Objektmethoden-Aufruf gesetzt werden, werden Properties des aktuellen Objektes:
player = object
position_x = 0
position_y = 0
setPosition = function(x,y)
position_x = x // sets player.position_x
position_y = y // sets player.position_y
end
end
Das wird oben mit einem Objekt gezeigt, gilt aber auch für Klassen-Instanzen.
Globale Variablen können mit dem Wort
global
auch aus einem Objekt geändert werden.player = object update = function() global.score += 1 end end
myvar.type
myobject.some_property.type
delete myobject.some_property
delete this.something
delete some_variable
delete myobject[getPropertyToDelete()]
myvar.type == 0 |
myvar ist nicht definiert |
myvar.type == "number" |
myvar ist eine Nummer |
myvar.type == "string" |
myvar ist ein String |
myvar.type == "function" |
myvar ist eine Funktion |
myvar.type == "list" |
myvar ist eine Liste |
myvar.type == "object" |
myvar ist ein Objekt |
a = 1
b = 1.2
c = -4.5e-5 // = -4.5*10^(-5)
h = 0x7FFF
Number.parse( string ) |
Parst einen String und gibt eine Nummer zurück. |
num_variable.toString() |
Gibt die String-Repräsentation einer Nummer zurück. |
a + b |
a - b |
a * b |
a / b |
a ^ b |
a hoch b | ||
a % b |
Modulo | ||
a & b |
Binäres Und | ||
a | b |
Binäres Oder | ||
a += b |
a -= b |
a *= b |
a /= b |
a %= b |
a &= b |
a |= b |
"double-quote delimited string" |
|
'simple-quote delimited string' |
|
"""triple double-quote delimited string""" |
"\"" |
double quote |
"\n" |
Zeilenumbruch |
"\\" |
backslash |
"double-quote: "" " |
Ein Paar von double-quotes wird als einzelne double-quote interpretiert |
string1 + string2 |
Hängt zwei Strings zusammen |
string.length |
Länge des Strings |
string.substring( i1, i2) |
Gibt einen Substring des gegebenen Strings zurück, von Index i1 bis Index i2 |
string.startsWith( s ) |
Gibt zurück, ob der String exakt mit s startet. |
string.endsWith( s ) |
Gibt zurück, ob der String exakt mit s endet. |
string.indexOf( s ) |
Index des ersten Auftauchens von s in string , oder -1 |
string.lastIndexOf(s) |
Index des letzten Auftauchens von s in string , oder -1 |
string.replace(s1,s2) |
Gibt einen neuen String zurück, wobei s1 durch s2 ersetzt wird. |
string.toUpperCase() |
Gibt den String in Grossbuchstaben zurück. |
string.toLowerCase() |
Gibt den String in Kleinbuchstaben zurück. |
string.split(s) |
Dividiert den String in eine Liste von Substrings mit der gegebenen Separation. |
string.charAt( position ) |
Gibt den Charakter an der gegebenen Position zurück. |
string.charCodeAt( position ) |
Gibt den UTF-16 character an der gegebenen Position zurück. |
string.concat( str2 ) |
Gibt string + str2 zurück. |
string.trim() |
Gibt den String zurück ohne voranstehende oder hintenanstende Space-Charakter (space, tabs, LF) |
string.trimEnd() |
Gibt den String zurück ohne hintenanstehende Space-Charakter (space, tabs, LF) |
string.trimStart() |
Gibt den String zurück ohne voranstehende Space-Charakter (space, tabs, LF) |
String.fromCharCode( code ) |
Gibt den Charakter mit dem gegebenen Code als String zurück. |
list = [] |
Leere Liste |
list.length |
Grösse der Liste |
list.push( element ) |
Fügt das element am Ende der Liste ein. |
list += element |
Same |
list.pop() |
Löscht das letzte Element aus der Liste und gibt es zurück. (or 0 if empty) |
list.insert( element ) |
Fügt das element am Beginn der Liste ein. |
list.insertAt( element, index) |
Fügt das element am gegebenen index in der Liste ein. |
list.indexOf( element ) |
Gibt die Position des elementes in der Liste zurück, ansonsten -1 |
list.contains( element ) |
Gibt 1 zurück, wenn das element in der Liste ist, ansonsten 0 |
list.removeAt( index ) |
Löscht das element am index aus der Liste. |
list.removeElement( element ) |
Löscht das element aus der Liste wenn es vorhanden ist. |
list1.concat( list2 ) |
Gibt eine neue Liste zurück, mit liste1 und liste2 addiert. |
list1 += list2 |
Same |
list3 = list1 + list2 |
list3 ist die Zusammenführung von list1 und list2
|
list.sortList( func ) |
Sortiert die Liste mit der gegebenen Sortierungsfunktion. |
obj = object
x = 1
y = 2
end
obj.x = 2
obj["y"] = obj.x + 3
obj.incrementX = function() x += 1 end
obj.incrementX()
add = function( x, y )
return x+y
end
five = add( 2, 3 )
display = function( text="placeholder text" )
print(text)
end
display("My text")
display()
square = function(x) x*x end
for i=1 to 10
print(i)
end
for i=10 to 0 by -1
print("countdown: "+i)
end
// Iteriere über Elemente einer Liste
list = [1,2,3,4,5]
for element in list
print(element)
end
// Iterate über die Properties eines Objekts
obj = object
x = 1
y = 2
z = 3
end
for prop in obj
print(prop + " = " + obj[prop])
end
count = 0
while count < 1000
print(count)
count += 1
end
if x == 1 then
print("Eins")
elsif x == 2 then
print("Zwei")
elsif x > 2 then
print("Mehr")
else
print("Weniger als Eins")
end
// conditionals are expressions and also return a value
sign_x = if x >= 0 then "positive" else "negative" end
// Zufallszahl im Bereich [0 .. 1]
random.next()
// Zufalls-Integer im Bereich [0 .. 99]
random.nextInt(100)
// Setze neuen Zufalls-Seed.
random.seed(1234)
// Klone den Zufallszahlengenerator
r = random.clone()
// Setze neuen Zufalls-Seed für den Klon.
r = random.clone(1234)
// Benutze den Klon als originales Zufalls-Objekt.
r.next()
after 5 seconds do
backToMainMenu()
end
every 200 milliseconds do
score += 100
end
do // Der eingeschlossene Code wird in einem neuen Thread ausgeführt.
for i=1 to 100000000
doHeavyWork(i)
end
end
sleep 1 second
sleep 200 milliseconds
sleep 200 // Wenn nicht spezifiziert sind es Millisekunden.
after
, every
and do
geben alle einen Thread-Wert zurück:
thread = every 1000 do print(counter += 1) end
thread.pause()
thread.resume()
thread.stop()
for t in system.threads
t.pause()
end
round( x ) |
sin( x ) |
sind( x ) |
sqrt( x ) |
min( x, y ) |
floor( x ) |
cos( x ) |
cosd( x ) |
log( x ) |
max( x, y ) |
ceil( x ) |
tan( x ) |
tand( x ) |
exp( x ) |
|
abs( x ) |
acos( x ) |
asind( x ) |
pow( x, y ) |
|
asin( x ) |
acosd( x ) |
|||
atan( x ) |
atand( x ) |
|||
atan2( y, x ) |
atan2d( y, x ) |
constant | value |
---|---|
PI |
Number Pi |
true |
Predefined to 1
|
false |
Predefined to 0
|
MyClass = class extends MyParentClass
constructor = function( x, y, size )
super( x, y )
this.size = size
end
getSize = function()
return size
end
end
my_object = new MyClass( 10, 12, 20 )
print( my_object.getSize() )
// this is a line comment
x = 1 // this is a line end comment
/* This is
a block
comment
*/
// Unten ist ein inline-Kommentar
if /*true*/ false then doSomething() end