Certaines langues offrent cela - dans une certaine mesure.
Peut-être pas comme exemple spécifique , mais prenez par exemple une ligne 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
Ainsi, certaines langues sont très bien avec des comparaisons multiples, tant que vous l'exprimez correctement.
Malheureusement, cela ne fonctionne pas exactement comme vous vous y attendez pour les comparaisons.
>>> 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
>>>
"Que voulez-vous dire, il renvoie True ou 4?" - la location après vous
Une solution dans ce cas, au moins avec Python, est de l'utiliser légèrement différemment:
>>> 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: Ce qui suit ferait également quelque chose de similaire, encore une fois en 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
>>>
Donc, quelle que soit la langue que vous utilisez, il se peut que vous ne puissiez pas le faire, mais que vous devez d'abord regarder de plus près comment la logique fonctionne réellement. En général, il s'agit simplement de savoir ce que vous «demandez» réellement la langue à vous dire.