บางภาษาเสนอสิ่งนี้ - ในระดับหนึ่ง
อาจจะไม่เป็นตัวอย่างเฉพาะของคุณแต่ใช้ตัวอย่างเช่นสายหลาม
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
>>>
ดังนั้นไม่ว่าคุณจะใช้ภาษาใดมันอาจไม่ใช่ว่าคุณไม่สามารถทำได้เพียงแค่คุณต้องดูให้ละเอียดก่อนว่าตรรกะทำงานอย่างไร โดยทั่วไปแล้วเป็นเรื่องของการรู้ว่าคุณ 'ขอจริง' ภาษาที่จะบอกคุณ