Sprak syntax
From wikinotes
Example
void Greet(string user) Print("Hello, " + user) end # create your own eventloops with infinite loops loop string user = GetUser() Sleep(1) Greet(user) end
I/O
Print("something") # prints text 'something' Say("something") # prints text in speech-bubble when interacted with. (ex. if no monitor) var cmd = Input(">") # save user-input to variable
Variables
Assignment
var list = [false, true] # a list var myVar = 1.0 # ? automatically determine type?Scope
# looks like global variables are defined outside of function
Datatypes
Primitives
number myNum = 1234 string myStr = "test" bool myBol = false array letters = ["a", "b", "c"] # define an arrayStrings
CharToInt("a") # (97) ascii value IntToChar(97) # ("a") ascii lookup # capitalize/uncapitalize by adding/subtracting 32 # iterate characters in string loop ch in mystring # ... endArrays
Arrays are 0-indexed.
Count(myarray) # size/length of array GetIndexes(myarray) # Remove(myarray, 3) # remove index 3 from array Append(myarray, "foo") # append item to array
Object Types
you can determine Item types with the
GetType()
command.GetType(myVar) # type introspectionfloppy # Floppy Diskette key # Keys
Loops
# Iterate over variable loop i from 1 to 8 Print(i) break end # Loop indefinitely (accepting commands) loop var cmd = Input(") ") end
Conditionals
if varA == varB # Unconfirmed Print("Success") else if varA == varC Print("Alternative Success") End()
Functions
# Define Function string MyFunction( string var ) return var End() void MyFunction( string var ) Print("no return value") End()# Test if function exists on platform if HasFunction("Print") Print("Success") End()
Persistence
SaveMemory(key, data) LoadMemory(key)
Misc
Random() # Random number Sleep(1) # Sleep time in seconds Time() # current time (in seconds?) GetHour() # ClearCode() # (?) AppendCode() # (?) Sin() # sine Mod() # modulus, I assume Round() # decimal-to-integer