30 Jan 12, 06:50AM
[cubescript]checkstr = [
if (|| (strcmp $arg1 $arg2) (strcmp $arg1 $arg3)) [ result 1 ] [
result 0
]
]
if_ = [
if (!= (findlist "OR || AND && BUT_NOT &!" $arg2) -1) [
if (checkstr $arg2 OR "||") [
if (|| $arg1 $arg3) $arg4 $arg5
]
if (checkstr $arg2 AND "&&") [
if (&& $arg1 $arg3) $arg4 $arg5
]
if (checkstr $arg2 BUT_NOT "&!") [
if (&& $arg1 (! $arg3)) $arg4 $arg5
]
] [ if $arg1 $arg2 $arg3 ]
]
// Examples to show how the same statement can be written differently:
// if_ 0 OR 1 [ echo yep ] [ echo nope ] // output: yep
// if_ 0 || 1 [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 1) OR (= 0 0) [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 1) || (= 0 0) [ echo yep ] [ echo nope ] // output: yep
// if_ 1 AND 1 [ echo yep ] [ echo nope ] // output: yeo
// if_ 1 && 1 [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) AND (= 1 1) [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) && (= 1 1) [ echo yep ] [ echo nope ] // output: yep
// if_ 1 BUT_NOT 0 [ echo yep ] [ echo nope ] // output: yep
// if_ 1 &! 0 [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) BUT_NOT (= 0 1) [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) &! (= 0 1) [ echo yep ] [ echo nope ] // output: yep
// if_ 1 [ echo yep ] [ echo nope ] // output: yep
// Another argument can be used on all statements to function as a trailing else. (The "[ echo nope ]" code blocks above demonstrate this.)[/cubescript]
if (|| (strcmp $arg1 $arg2) (strcmp $arg1 $arg3)) [ result 1 ] [
result 0
]
]
if_ = [
if (!= (findlist "OR || AND && BUT_NOT &!" $arg2) -1) [
if (checkstr $arg2 OR "||") [
if (|| $arg1 $arg3) $arg4 $arg5
]
if (checkstr $arg2 AND "&&") [
if (&& $arg1 $arg3) $arg4 $arg5
]
if (checkstr $arg2 BUT_NOT "&!") [
if (&& $arg1 (! $arg3)) $arg4 $arg5
]
] [ if $arg1 $arg2 $arg3 ]
]
// Examples to show how the same statement can be written differently:
// if_ 0 OR 1 [ echo yep ] [ echo nope ] // output: yep
// if_ 0 || 1 [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 1) OR (= 0 0) [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 1) || (= 0 0) [ echo yep ] [ echo nope ] // output: yep
// if_ 1 AND 1 [ echo yep ] [ echo nope ] // output: yeo
// if_ 1 && 1 [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) AND (= 1 1) [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) && (= 1 1) [ echo yep ] [ echo nope ] // output: yep
// if_ 1 BUT_NOT 0 [ echo yep ] [ echo nope ] // output: yep
// if_ 1 &! 0 [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) BUT_NOT (= 0 1) [ echo yep ] [ echo nope ] // output: yep
// if_ (= 0 0) &! (= 0 1) [ echo yep ] [ echo nope ] // output: yep
// if_ 1 [ echo yep ] [ echo nope ] // output: yep
// Another argument can be used on all statements to function as a trailing else. (The "[ echo nope ]" code blocks above demonstrate this.)[/cubescript]