diff options
-rw-r--r-- | oracles/base.php | 12 | ||||
-rw-r--r-- | oracles/calc.php | 7 |
2 files changed, 19 insertions, 0 deletions
diff --git a/oracles/base.php b/oracles/base.php index 45747fc..84299fd 100644 --- a/oracles/base.php +++ b/oracles/base.php @@ -21,4 +21,16 @@ abstract class oracle { return ""; } } +// backwards compatibility +if (!function_exists('str_starts_with')) { + function str_starts_with($haystack, $needle) { + return strncmp($haystack, $needle, strlen($needle)) === 0;; + } +} +if (!function_exists('str_contains')) { + function str_contains($haystack, $needle) { + return strpos((string)$haystack, (string)$needle) !== false; + } +} + ?>
\ No newline at end of file diff --git a/oracles/calc.php b/oracles/calc.php index 4888b95..bcc127b 100644 --- a/oracles/calc.php +++ b/oracles/calc.php @@ -84,6 +84,13 @@ class calculator extends oracle { } } + // no implicit multiplication + for ($i = 0; $i < count($tokens) - 1; $i++) { + if ($tokens[$i][0] == "n" && $tokens[$i+1] == ["g", "("]) { + return ""; + } + } + //strategy: // traverse to group open (if there is one) // - return to start with the internals |