Sprak syntax

From wikinotes
Revision as of 04:29, 9 January 2023 by Will (talk | contribs) (→‎Primitives)

Example

# I believe code called outside of a function is executed repeatedly in a loop

void Greet(string user)
    Print("Hello, " + user)
end

string user = GetUser()
Greet(user)

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 array

Strings

CharToInt("a")  # (97) ascii value
IntToChar(97)   # ("a") ascii lookup
# capitalize/uncapitalize by adding/subtracting 32

# iterate characters in string
loop ch in mystring
  # ...
end

Arrays

Count(myarray)     # size/length of array

Object Types

you can determine Item types with the GetType() command.

GetType(myVar)  # type introspection
floppy # Floppy Diskette
key    # Keys

Loops

# Iterate over variable
loop x from 1 to 8
    Print( x )
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()

Misc

Random()     # Random number
Sleep(1)     # Sleep time in seconds
ClearCode()  # (?)
AppendCode() # (?)