ONLang/doc/main.md
2022-08-08 18:50:02 +03:00

2.3 KiB

How to

All posibilities in example.json5

How to print

[
  "Just string in array", //equally println: "Just string in array"
  ["array", "of", "strings"], // equally println: ["in Function"]
  {
    print: ["in Function"],
  },
  {
    println: ["in Function"],
  },
]

How to calclulate values

works only with numbers (and variables with number type)

[
  { calc: [2, "*", 3] }, //only 3 arguments
  { calc: [{ var: "some_variable" }, "-", 2] }, //{var:"some_var"} this is a way to get a variable
]

Supported operators

  1. +
  2. -
  3. *
  4. /
  5. %
  6. >>
  7. <<
  8. ^
  9. &
  10. |

How to compare values

[
  { comp: [true, "!=", false] }, //only 3 arguments
  {
    comp: [
      {
        comp: [
          { comp: [{ calc: [1, "+", 1] }, ">", 3] },
          "==",
          { var: "var_with_bool_value" },
        ],
      },
      "&&",
      { comp: [{ comp: [{ calc: [1, "+", 1] }, ">", 3] }, "==", true] },
    ],
  }, //more complex comparisons: (( 1 + 1 > 3 ) == var_with_bool_value) && (( 1 + 1 > 3 ) == true)
]

Supported operators for compare

  1. ==
  2. !=
  3. >
  4. <
  5. >=
  6. <=
  7. &&
  8. ||

How to create a variable

[
  {
    let: {
      str: "A",
      num: 2,
      arr: ["Array", "in", "variable"],
    },
  },

  {
    let: {
      calculated: { calc: [{ var: "num" }, "*", 4] }, //result 8
    },
  },
]

How to assign variable

[
  {
    assign: {
      calculated: { calc: [{ var: "calculated" }, "+", 1] }, // calculated = calculated + 1
    },
  },
]

Loops

[
  {
    loop: [
      {
        if: {
          condition: { comp: [{ var: "i" }, ">=", 10] }, //if i >= 10 break loop
          body: ["break"],
          //else: [..commands] also work
        },
      },
      { assign: { i: { calc: [{ var: "i" }, "+", 1] } } }, // i += 1
      { print: ["\ri = ", { var: "i" }] },
      { sleep: 500 }, //sleep 500 ms
    ],
  },
]

Input from console

[
  {
    let: {
      name: { input: "Your name: " },
    },
  },
  { print: ["Bye, ", { var: "name" }, "!"] },
]

Delete variable

[
  {
    let: {
      name: { input: "Your name: " },
    },
  },
  { print: ["Bye, ", { var: "name" }, "!"] },
  { delete: "name" }, //deletes variable from memory
]