Alcune lingue offrono questo - in una certa misura.
Forse non come esempio specifico , ma prendi per esempio una linea 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
Quindi, alcune lingue vanno bene con confronti multipli, a patto che tu la stia esprimendo correttamente.
Sfortunatamente, non funziona come ti aspetteresti per i confronti.
>>> 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
>>>
"Che cosa significa restituisce True o 4?" - il noleggio dopo di te
Una soluzione in questo caso, almeno con Python, è di usarla in modo leggermente diverso:
>>> 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
>>>
EDIT: Quanto segue farebbe anche qualcosa di simile, sempre in 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
>>>
Quindi, qualunque sia la lingua che stai usando, potrebbe non essere impossibile farlo, solo che devi prima dare un'occhiata più da vicino a come la logica effettivamente funziona. In genere si tratta solo di sapere cosa stai "chiedendo" effettivamente alla lingua per dirti.