-
Notifications
You must be signed in to change notification settings - Fork 0
GigaScript Documentation
File extension: .g
GigaScript has very simple syntax, similar to those of other popular languages.
A variable can hold any value supported by GigaScript.
let varName = value;
varName
can be any name you want, but must follow the following requirements:
- Cannot start with a number
- Must start a letter or an underscore "_".
value
can be any value you want that is supported by GigaScript.
let anotherVar;
Mutable variables do not need to have a variable assigned when they are declared.
Important
All variable declarations must end with a semicolon ";".
const varName = value;
varName
can be any name you want, but must follow the following requirements:
- Cannot start with a number
- Must start a letter or an underscore "_".
value
can be any value you want that is supported by GigaScript.
Important
Constant variables must have a value when declared.
Caution
Constant variables cannot be reassigned!
varName = newValue
Note
Reassignments shouldn't end with a semicolon ";".
To access a variable, simply reference it using the variable name.
varName
varName
should be the name of your variable. You can use varName
anywhere in your code. For examples, see examples.
Functions are very useful when you want to repeat the same task multiple times in different parts of your code.
func funcName(params) {
*code*
}
funcName
could be any name following these naming rules:
- Cannot start with a number
- Must start a letter or an underscore "_".
params
can be any length of parameters you need passed into your function, or no parameters at all, following the same naming rules as above.
To return a value in a function, simply reference the value on the last line of the function.
funcName(params)
funcName
could be any name following these naming rules:
- Cannot start with a number
- Must start a letter or an underscore "_".
params
can be any length of parameters you need passed into your function, or no parameters at all, following the same naming rules as above.
class ClassName(){
public publicProp = "this can be any value";
private privateProp = "this can be any value but can't be accessed outside of the class";
public publicMethod(params){
code (See [Functions](https://github.com/aName2050/GigaScript/wiki/GigaScript-Documentation#Functions) for more info on functions.)
}
private privateMethod(params){
code (See [Functions](https://github.com/aName2050/GigaScript/wiki/GigaScript-Documentation#Functions) for more info on functions.)
}
}
ClassName
can be any name, while still following these naming rules:
- Cannot start with a number
- Must start a letter or an underscore "_".
public
properties and methods can be accessed when a new class instance is created.private
properties and methods cannot be accessed when a new class instance is created.
let className = new ClassName();
ClassName
is the name of your class.
new ClassName()
will create a new object containing all the class's public properties and methods.
- Create a new instance of the class and set it as the value of any variable.
let aCoolClass = new ClassName();
- Access the public properties and methods of the class as if you were accessing the properties of an object.
aCoolClass.publicProp
aCoolClass.publicMethod(params)
condition
is where you would check if a condition is true. See examples.
if(condition) {
code
}
if(condition) {
code
} else {
code
}
if(condition) {
code
} else if (other_condition) {
code
} else {
code
}
Tip
You don't need to include an else
statement in every conditional statement.
while
loops are useful when you need to iterate over something a certain amount of times, or while
a condition is true.
while(condition){
code
}
condition
is any conditional statement that would return either true
or false
.
Caution
It is not recommended to set condition
to always be true, condition
should eventually become false
to prevent your program from becoming unstable and crashing.
for
loops are useful when you need to iterate over something a variable amount of times.
for(initializer; condition; modifier) {
code
}
initializer
sets a variable.
condition
compares the initializer
to a condition and continues to code
if it returns true
.
modifier
modifies the initializer
after the for
loop finishes an iteration.
Importing code from other GigaScript files is useful when creating large projects.
import aVariable from "relative/path/to/file.g"
import aFunction from "relative/path/to/file.g"
aVariable
and aFunction
is the variable or function you want to import. "relative/path/to/file.g" is the path to the file, relative to the parent directory.
Caution
When writing out the file path to the file, only relative paths are supported. Do not include a "./" at the beginning as that will result in an error.
Note
You can only import one variable/function from each file at a time, to import multiple variables/functions, use a separate import
statement.
Exporting variables and functions is needed to use the import
statement.
let aVariable = "a value";
func aFunction(params){
code
}
export aVariable;
export aFunction;
aVariable
and aFunction
is the variable or function you want to export. An export
statement can only export one value at a time.
Important
You cannot export a value that is not a variable or function.
These are tokens reserved for GigaScript that can't be used as the name of classes, functions, or variables.
Note
You can use any of the reserved tokens when used inside of a string.
let
const
func
class
true
false
undefined
new
null
private
public
if
else
while
for
continue
break
import
export
from
Caution
Using any of these keywords as a class, function, or variable identifier will result in an error!
>
<
==
!=
!
&&
||
"
+
-
*
/
%
=
You can see examples for GigaScript in this section. You can run these examples by copying the code in a .g
file and then running the file
let x = 32;
const aCoolObject = { x, z: 64, complex: { foo: "bar" } };
x = x * 2
print(x)
print(aCoolObject.complex)
print(x)
should output 64
.
print(aCoolObject.complex)
should output { foo: "bar" }
.
-
Create a mutable variable called
x
with the value of32
. -
Create a constant variable called
aCoolObject
with the value of { x, z: 64, complex: { foo: "bar" } }`. -
Reassign the variable
x
to the result ofx
multiplied by 2, which should result in64
. -
Print the value of
x
to the console. Prints64
. -
Print the value of
aCoolObject.complex
to the console. Prints{ foo: "bar" }
.- The
complex
property ofaCoolObject
is accessed and passed into theprint
built-in function.
- The
func add(x, y){
const result = x + y;
result
}
print(add(1, 2))
print(add(1, 2))
should output 3
.
-
Declare a function called
add
with parametersx
andy
. - Inside the function...
-
Declare a constant variable called
result
with the value ofx
andy
added together. -
Return the value of
result
.
-
Declare a constant variable called
-
Print the result of adding
1
and2
to the console. Prints3
.
© Bardia Shafaee (aName2050) 2024
See our license for more details.