temp-rublang v1.0.4
Note: This version is temporary and will be replaced with rublang
after 24 hours.
Running
- To run a rub file:
npx rub <FILENAME>
- Or you can use repl mode:
npx rub
Rublang
Rublang is a simple programming language based on javascript. Install this Vscode extension for syntax highlighting.
Note: For now we don't support Arrays
and While Loops
Variables
Mutable variables are like this:
store x = 0;
You can also write constant variables:
estore x = 5;
Note: you can only use semicolons in variables and for loops
Numbers
You can create numbers like this:
store foo = 5;
store bar = 7;
store result = bar - foo;
Strings
strings are like this:
store foo = "Hello World!";
Note: you can't use " ' " for strings;
Booleans
booleans are simple:
store foo = true;
store bar = false;
Null
store foo = null; // null
store bar; // null
Objects
You can write objects like this:
store foo = 56;
estore x = {
simple: "Hello World!",
complex: {
num: foo - 30
}
}
say(x.simple)
say(x.complex.num)
Binary expressions
This is binary expressions that supports:
Operator | Supported Types |
---|---|
+ | Number |
- | Number |
* | Number |
/ | Number |
% | Number |
== | All |
!= | All |
&& | All |
|| | All |
< | All |
> | All |
Types
Type |
---|
Number |
Boolean |
String |
Object |
If Statements
If Statements are like this:
store x = 5;
if (x == 5) {
say("x is 5")
} otherwise if (x == 6) {
say("x is 6")
} otherwise {
say("x isn't 5 or 6")
}
For Loops
And For Loop:
for (store i = 0; i < 10; i = i + 1) {
say(i)
}
Comments
// This is Encrypted Store.
estore x = "Not Changeable".
Functions
func add(x, y) {
x + y
}
say(add(5, 8))
in rublang we don't have return keyword it's means only returns the last one.
func add(x, y) {
x - y // This donsn't works
x + y
}
Native Functions
There is some native functions in rublang:
Name | Description |
---|---|
say | prints a value |
time | get the time |
connect (Coming Soon) | connects strings |
Thanks to tylerlaceby for the step by step guide.