Niektóre języki to oferują - do pewnego stopnia.
Może nie jako twój konkretny przykład, ale weźmy na przykład wiersz 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
Tak więc niektóre języki są w porządku z wieloma porównaniami, pod warunkiem, że wyrażasz to poprawnie.
Niestety nie działa tak, jak można by się tego spodziewać w przypadku porównań.
>>> 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
>>>
„Co masz na myśli mówiąc, że zwraca True lub 4?” - zatrudnienie po tobie
Jednym rozwiązaniem w tym przypadku, przynajmniej w Pythonie, jest użycie go nieco inaczej:
>>> 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
>>>
EDYCJA: Poniższe czynności również zrobiłyby coś podobnego, ponownie w Pythonie ...
>>> 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
>>>
Niezależnie od tego, jakiego używasz języka, może nie być tak, że nie możesz tego zrobić, po prostu musisz najpierw przyjrzeć się, jak działa logika. Zazwyczaj jest to kwestia znajomości tego, o co „pytasz” język, który ma ci powiedzieć.