Merge branch 'main' of https://github.com/obsidianical/strath
This commit is contained in:
commit
4ab1565f9d
3 changed files with 41 additions and 30 deletions
39
readme.md
39
readme.md
|
@ -6,9 +6,46 @@ Rust developers hate it, Python developers fear it, and C developers make it bli
|
||||||
|
|
||||||
## How to Strath
|
## How to Strath
|
||||||
### Comments
|
### Comments
|
||||||
|
`;` all text after a semicolon will be treated as a comment
|
||||||
|
`&&` all text after a double and will be treated as a comment
|
||||||
|
`]][[` an inline command, all text between the double square brackets will be treated as a comment
|
||||||
|
\`\`´´ this makes a multiline comment
|
||||||
|
|
||||||
### If, else if/elif, else
|
### If, else if/elif, else
|
||||||
|
`¿??/condition\? | ()` - if
|
||||||
|
`?>/condition\? | ()` - elif/else if
|
||||||
|
`\>?/condition\? | ()` - else
|
||||||
|
|
||||||
|
After `??` and `?>` either a `$` or `€` to declare if all conditions are to be true or false respectivly
|
||||||
|
Two variables will be compared by an if statment without "==" eg `¿??$/1 1\? | ()` compares if 1 == 1 and if that result needs to be true to run the code in between the two round brackets
|
||||||
|
|
||||||
### Variable Types
|
### Variable Types
|
||||||
|
`}}type{{` uses the standard types like int, str, float, etc
|
||||||
|
|
||||||
### Working With Variables
|
Certain types have short declarations
|
||||||
|
`ö` declares ints
|
||||||
|
`Ö` declares floats
|
||||||
|
`ä` declares char
|
||||||
|
`Ä` declares string
|
||||||
|
`ü` declares list
|
||||||
|
`Ü` declares dict
|
||||||
|
|
||||||
|
wavey brackets aren't needed in this case
|
||||||
|
|
||||||
|
#### Working With Variables
|
||||||
|
Variables are declared by defining the type, the name, and the value (optional) eg:
|
||||||
|
`}}int{{ i < 1;`
|
||||||
|
|
||||||
|
`}int{ i < 1;` A single wavy bracket allows the type of the var to change dynamicly
|
||||||
|
|
||||||
|
Special behaviour:
|
||||||
|
`j > i` will copy i to j and drops i
|
||||||
|
`j < i` will copy i to j and maintain i
|
||||||
|
|
||||||
|
### In-build functions
|
||||||
|
`<=` will output a value
|
||||||
|
`=>` takes an input and sets the next variable to it as the input
|
||||||
|
|
||||||
|
### Code
|
||||||
|
`¡!` are statments
|
||||||
|
`¿?` are expression
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
&& '++name declares an abstract class
|
&& '++name declares an abstract class
|
||||||
&& all of that is, of course, a statement so ¡!
|
&& all of that is, of course, a statement so ¡!
|
||||||
|
|
||||||
'++animal (
|
|
||||||
|
&<='++animal (
|
||||||
&& +}}type{{ declares a property of a class
|
&& +}}type{{ declares a property of a class
|
||||||
&& "+}}type{{ declares a static property of a class
|
&& "+}}type{{ declares a static property of a class
|
||||||
|
|
||||||
|
@ -14,7 +15,7 @@
|
||||||
¡<=/"Created animal named " + name\!;
|
¡<=/"Created animal named " + name\!;
|
||||||
|
|
||||||
&& +var refers to a property, like this. in other languages
|
&& +var refers to a property, like this. in other languages
|
||||||
&& you can only assign values to static variables once in this language
|
&& you can only assign values to static variables once in this language
|
||||||
¡+name < name!;
|
¡+name < name!;
|
||||||
¡+speed < speed!;
|
¡+speed < speed!;
|
||||||
)
|
)
|
||||||
|
|
|
@ -3,32 +3,6 @@
|
||||||
|
|
||||||
&& inherit via :::
|
&& inherit via :::
|
||||||
++cat:::animal (
|
++cat:::animal (
|
||||||
<<<<<<< HEAD
|
|
||||||
¡+}}float{{ meowingVolume!;
|
|
||||||
|
|
||||||
### /}}string{{ name\ /}}float{{ speed\ /}}float{{ meowingVolume\ | (
|
|
||||||
&& ## calls the super
|
|
||||||
¡##/name, speed\!;
|
|
||||||
¡+meowingVolume < meowingVolume!;
|
|
||||||
)
|
|
||||||
|
|
||||||
+#meow /\ | (
|
|
||||||
¿??€/+meowingVolume >> 0\ | (
|
|
||||||
¡<=/"*silence*"!;
|
|
||||||
) ?>$/+meowingVolume >> 0\ | (
|
|
||||||
¡<=/"mow"\!;
|
|
||||||
) ?>$/+meowingVolume >> 2\ | (
|
|
||||||
¡<=/"meow"\!;
|
|
||||||
) ?>$/+meowingVolume >> 5\ | (
|
|
||||||
¡<=/"Meow."\!;
|
|
||||||
) ?>$/+meowingVolume >> 10\ | (
|
|
||||||
¡<=/"Meow!!"\!;
|
|
||||||
) ?>$/+meowingVolume >> 20\ | (
|
|
||||||
¡<=/"MEOW!!!"\!;
|
|
||||||
) >? | (
|
|
||||||
!<=/"Error: weird as fuck meowing volume."\!;
|
|
||||||
)
|
|
||||||
=======
|
|
||||||
¡+}}float{{ meowingVolume!;
|
¡+}}float{{ meowingVolume!;
|
||||||
|
|
||||||
### /}}string{{ name\ /}}float{{ speed\ /}}float{{ meowingVolume\ | (
|
### /}}string{{ name\ /}}float{{ speed\ /}}float{{ meowingVolume\ | (
|
||||||
|
@ -58,6 +32,5 @@
|
||||||
)
|
)
|
||||||
>?/\? | (
|
>?/\? | (
|
||||||
!<=/"Error: weird as fuck meowing volume."\!;
|
!<=/"Error: weird as fuck meowing volume."\!;
|
||||||
>>>>>>> 602600c8ef3124194f256b9d0ef99d3d6a418abe
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue