Một số ngôn ngữ cung cấp điều này - đến một mức độ.
Có thể không phải là ví dụ cụ thể của bạn , nhưng lấy ví dụ một dòng 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
Vì vậy, một số ngôn ngữ vẫn ổn với nhiều so sánh, miễn là bạn diễn đạt chính xác.
Thật không may, nó không hoạt động giống như bạn mong đợi nó để so sánh.
>>> 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
>>>
"Ý bạn là nó trả về True hay 4?" - thuê sau bạn
Một giải pháp trong trường hợp này, ít nhất là với Python, là sử dụng nó hơi khác:
>>> 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: Sau đây cũng sẽ làm một cái gì đó tương tự, một lần nữa trong 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
>>>
Vì vậy, bất cứ ngôn ngữ mà bạn đang sử dụng, nó có thể không thể là bạn không thể làm điều đó, chỉ là trước tiên bạn phải có một cái nhìn sâu hơn về cách logic thực sự hoạt động. Thông thường, đó chỉ là vấn đề biết những gì bạn 'thực sự hỏi' ngôn ngữ để nói với bạn.