Оцініть заданий вираз універсального значення.
Omnifix - це як інфіксація звичайних математичних позначень, але з додатковими копіями кожного символу, що оточує аргументи. Зовнішні символи займають місце в дужках, тому немає необхідності в додаткових дужках.
Ви повинні підтримувати додавання, віднімання, множення, ділення та додатні реальні числа (негативні можна записати -0-n-) у розумному діапазоні для вашої мови.
Плюс і мінус повинні бути +і -, але ви можете використовувати *або ×для разів, /або ÷для розділення. Інші розумні символи будуть дозволені на запит.
Brownie вказує на пояснення та додаткові функції (наприклад, додаткові операції, негативні цифри, рядки тощо). Навіть якщо у вашій відповіді немає цих функцій, сміливо покажіть, як це могло.
Будь ласка, надайте посилання для тестування свого рішення, якщо це можливо.
Приклади
Для наочності в поясненнях нижче використовується високий мінус ( ¯) для позначення негативних чисел. Ви можете повернути негативні цифри у будь-якому розумному форматі.
-5-2- → 3
+2+×3×2×+→ 8 ( +2+×3×2×+→ +2+6+→ 8)
-14--3-1--→ 12 ( -4--3-1--→ -14-2-→ 12)
+2.1+×3.5×2.2×+→ 9.8 ( +2.1+×3.5×2.2×+→ +2.1+7.7+→ 9.8)
×3×÷-0-6-÷2÷×→ -9 ( ×3×÷-0-6-÷2÷×→ ×3×÷¯6÷2÷×→ ×3ׯ3×→ → ¯9)
÷4÷-3-÷1÷2÷-÷→ 1.6 ( ÷4÷-3-÷1÷2÷-÷→ ÷4÷-3-0.5-÷→ ÷4÷2.5÷→ → 1.6)
-s можна плутати з -s, тоді як ¯s не можна плутати з -s.
The explanations below use high minus (`¯`) to indicate negative numbers.Ви точно любите APL.