Некоторые языки предлагают это - до некоторой степени.
Может быть, не как ваш конкретный пример, но возьмем, например, строку Python:
def minmax(min, max):
def answer(value):
return max > value > min
return answer
inbounds = minmax(5, 15)
inbounds(7) ##returns True
inbounds(3) ##returns False
inbounds(18) ##returns False
Итак, некоторые языки подходят для множественных сравнений, если вы правильно их выражаете.
К сожалению, это не работает так, как вы ожидаете, для сравнения.
>>> def foo(a, b):
... def answer(value):
... return value == a or b
... return answer
...
>>> tester = foo(2, 4)
>>> tester(3)
4
>>> tester(2)
True
>>> tester(4)
4
>>>
«Что вы имеете в виду, что он возвращает либо True, либо 4?» - прокат за тобой
Одним из решений в этом случае, по крайней мере с Python, является использование его немного по-другому:
>>> def bar(a, b):
... def ans(val):
... return val == a or val == b
... return ans
...
>>> this = bar(4, 10)
>>> this(5)
False
>>> this(4)
True
>>> this(10)
True
>>> this(9)
False
>>>
РЕДАКТИРОВАТЬ: следующее также будет делать нечто подобное, снова в Python ...
>>> def bar(a, b):
... def answer(val):
... return val in (a, b)
... return answer
...
>>> this = bar(3, 5)
>>> this(3)
True
>>> this(4)
False
>>> this(5)
True
>>>
Таким образом, какой бы язык вы ни использовали, возможно, вы этого не сделаете, просто вы должны сначала поближе познакомиться с тем, как на самом деле работает логика. Как правило, это просто вопрос знания того, что вы на самом деле «просите», чтобы язык сказал вам.