✨
This commit is contained in:
@ -21,10 +21,12 @@ define is_number<1> as [
|
||||
set 0 -> i|
|
||||
do [
|
||||
set 0 -> j|
|
||||
set false -> num|
|
||||
do [
|
||||
do skip else return false if argument #1{variable i} = variable numbers{variable j}|
|
||||
do set true -> num else skip if argument #1{variable i} = variable numbers{variable j}|
|
||||
set variable j + 1 -> j|
|
||||
] until variable j = do len<variable numbers;>|
|
||||
do skip else return false if variable num|
|
||||
set variable i + 1 -> i|
|
||||
] until variable i = do len<argument #1;>|
|
||||
return true|
|
||||
@ -48,13 +50,31 @@ define unfold<1> as [
|
||||
|
||||
set {} -> n1l|
|
||||
set 1 -> n|
|
||||
set 0 -> i|
|
||||
set 0 -> k|
|
||||
do [
|
||||
set variable i+1 -> i|
|
||||
set variable n1l + {argument #1{variable i};} -> n1l|
|
||||
do skip else set variable n+2 -> n if do "is_number"<argument #1{variable i};>|
|
||||
] until variable n = variable i|
|
||||
do print<variable n1l;>|
|
||||
set variable k+1 -> k|
|
||||
set variable n1l + {argument #1{variable k};} -> n1l|
|
||||
do skip else set variable n+2 -> n if do "is_number"<argument #1{variable k};>|
|
||||
] until variable n = variable k|
|
||||
|
||||
set {} -> n2l|
|
||||
set variable n+1 -> n|
|
||||
do [
|
||||
set variable k+1 -> k|
|
||||
set variable n2l + {argument #1{variable k};} -> n2l|
|
||||
do skip else set variable n+2 -> n if do "is_number"<argument #1{variable k};>|
|
||||
] until variable n = variable k|
|
||||
|
||||
do print<variable op;variable n1l;variable n2l;>|
|
||||
|
||||
set do "unfold"<variable n1l;> -> n1|
|
||||
do return 'error' if do str<variable n1;>='error'|
|
||||
|
||||
set do "unfold"<variable n2l;> -> n2|
|
||||
do return 'error' if do str<variable n1;>='error'|
|
||||
|
||||
do print<variable op;variable n1;variable n2;>|skip|
|
||||
return do "calc"<variable op;variable n1;variable n2;>|
|
||||
]|
|
||||
|
||||
set do input<':';> -> x|
|
||||
|
Reference in New Issue
Block a user