mirror of
https://github.com/artegoser/ONLang
synced 2024-12-23 09:33:44 +03:00
doc: example of nested functions
Which only work inside another function
This commit is contained in:
parent
d57d67a960
commit
27ee5334da
1 changed files with 60 additions and 0 deletions
60
examples/calc.json5
Normal file
60
examples/calc.json5
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
fn: {
|
||||||
|
name: "myCalc",
|
||||||
|
args: ["a", "o", "b"],
|
||||||
|
body: [
|
||||||
|
{
|
||||||
|
fn: {
|
||||||
|
name: "sum",
|
||||||
|
args: ["a", "b"],
|
||||||
|
body: [{ return: { calc: [{ var: "a" }, "+", { var: "b" }] } }],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
fn: {
|
||||||
|
name: "sub",
|
||||||
|
args: ["a", "b"],
|
||||||
|
body: [{ return: { calc: [{ var: "a" }, "-", { var: "b" }] } }],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
fn: {
|
||||||
|
name: "mul",
|
||||||
|
args: ["a", "b"],
|
||||||
|
body: [{ return: { calc: [{ var: "a" }, "*", { var: "b" }] } }],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
if: {
|
||||||
|
condition: { comp: [{ var: "o" }, "==", "*"] },
|
||||||
|
body: [{ return: { mul: [{ var: "a" }, { var: "b" }] } }],
|
||||||
|
else: [
|
||||||
|
{
|
||||||
|
if: {
|
||||||
|
condition: { comp: [{ var: "o" }, "==", "-"] },
|
||||||
|
body: [{ return: { sub: [{ var: "a" }, { var: "b" }] } }],
|
||||||
|
else: [
|
||||||
|
{
|
||||||
|
if: {
|
||||||
|
condition: { comp: [{ var: "o" }, "==", "+"] },
|
||||||
|
body: [
|
||||||
|
{ return: { sum: [{ var: "a" }, { var: "b" }] } },
|
||||||
|
],
|
||||||
|
else: [{ return: "Wrong operator!" }],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
[{ myCalc: [3, "*", 2] }],
|
||||||
|
[{ myCalc: [3, "/", 2] }],
|
||||||
|
[{ myCalc: [3, "+", 2] }],
|
||||||
|
[{ myCalc: [3, "-", 2] }],
|
||||||
|
]
|
Loading…
Add table
Reference in a new issue