mirror of
https://github.com/artegoser/ONLang
synced 2024-11-05 20:43:57 +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…
Reference in a new issue