Bazı diller bunu bir ölçüde sunmaktadır.
Belki belirli bir örnek olarak değil , örneğin bir Python satırı alın:
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
Bu nedenle, bazı diller doğru şekilde ifade ettiğiniz sürece birden fazla karşılaştırmayla iyidir.
Ne yazık ki, karşılaştırmalar için beklediğiniz gibi çalışmıyor.
>>> 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
>>>
"Ne demek True ya da 4 döndürür?" - senden sonra işe alma
Bu durumda, en azından Python ile bir çözüm, onu biraz farklı kullanmaktır:
>>> 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
>>>
DÜZENLEME: Aşağıdaki, yine Python'da benzer bir şey yapardı ...
>>> 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
>>>
Kullandığınız hangisi dil Yani, onunla bu olmayabilir olamaz öncelikle mantık aslında nasıl çalıştığına yakından bakmak gerekir sadece, bunu. Tipik olarak, bu dili size ne söylemesini gerçekten istediğini bilmekle ilgilidir.