✨
This commit is contained in:
@ -36,25 +36,25 @@ define calc<3> as [
|
|||||||
]|
|
]|
|
||||||
|
|
||||||
define unfold<1> as [
|
define unfold<1> as [
|
||||||
|
// In case there are 0, 1 or 2 arguments
|
||||||
do return 'error' if do len<argument #1;> = 0|
|
do return 'error' if do len<argument #1;> = 0|
|
||||||
|
|
||||||
set {} -> middle|
|
|
||||||
set 1 -> i|
|
|
||||||
do [
|
do [
|
||||||
set variable middle + {argument #1{variable i};} -> middle|
|
do return do int<argument #1{0};> if do "is_number"<argument #1;>|
|
||||||
set variable i + 1 -> i|
|
return 'error'|
|
||||||
] until variable i = do len<argument #1;> - 1|
|
] if do len<argument #1;> = 1|
|
||||||
|
do return 'error' if do len<argument #1;> = 2|
|
||||||
|
|
||||||
do return 'error' if do len<variable middle;> = 0|
|
set argument #1{0} -> op|
|
||||||
|
|
||||||
|
set {} -> n1l|
|
||||||
|
set 1 -> n|
|
||||||
|
set 0 -> i|
|
||||||
do [
|
do [
|
||||||
set variable middle{0} -> middle|
|
set variable i+1 -> i|
|
||||||
do set do int<variable middle;> -> n1 else return 'error' if do "is_number"<variable middle;>|
|
set variable n1l + {argument #1{variable i};} -> n1l|
|
||||||
] else set do "unfold"<variable middle;> -> n1 if do len<variable middle;> = 1|
|
do skip else set variable n+2 -> n if do "is_number"<argument #1{variable i};>|
|
||||||
|
] until variable n = variable i|
|
||||||
do set do int<argument #1{do len<argument #1;>-1};> -> n2 else return 'error' if do "is_number"<argument #1{do len<argument #1;>-1};>|
|
do print<variable n1l;>|
|
||||||
|
|
||||||
return do "calc"<argument #1{0}; variable n1; variable n2;>|
|
|
||||||
]|
|
]|
|
||||||
|
|
||||||
set do input<':';> -> x|
|
set do input<':';> -> x|
|
||||||
|
Reference in New Issue
Block a user