Haskell İşlevlerinde 'varsayıyor' Anahtar Kelimesini Anlamak
Haskell'deki 'varsayım' anahtar sözcüğü, işlevin uygulanabilmesi için doğru olması gereken bir önkoşul veya varsayımı belirtmek için kullanılır. Başka bir deyişle, fonksiyonun çağrılabilmesi için sağlanması gereken bir koşulu belirtir.
Örneğin, aşağıdaki fonksiyonu düşünün:
```
f :: Int -> Int
f x = x + 1
```
Bu fonksiyon bir tamsayı alır 'x' ve halefini (yani, 'x + 1') döndürür. Ancak 'x' negatifse bu fonksiyon uygulanamaz çünkü 'x + 1'in sonucu da negatif olacaktır. Bu varsayımı belirtmek için `assuses' anahtar sözcüğünü kullanabiliriz:
```
f :: Int -> Int varsayar (x >= 0)
f x = x + 1
```
Şimdi, `f` işlevi yalnızca pozitif tamsayılarla çağrılır ve argüman olarak negatif bir tamsayı iletilirse derleyici bir hata verecektir. Benzer şekilde, bir fonksiyonun uygulanabilir olması için doğru olması gereken diğer varsayımları veya önkoşulları belirtmek için `assuses' anahtar kelimesini kullanabiliriz. . Örneğin:
```
g :: Int -> Int (çift x) olduğunu varsayar
g x = x + 1
```
Bu işlev bir `x` tamsayısını alır ve ardılını döndürür, ancak yalnızca `x` çift ise. Eğer 'x' tek ise, derleyici bir hata verecektir. Özetle, Haskell'deki 'assuses' anahtar sözcüğü, bir fonksiyonun uygulanabilir olması için doğru olması gereken varsayımları veya önkoşulları belirtmek için kullanılır. Bir işlevin kabul edebileceği giriş değerleri üzerindeki kısıtlamaları ifade etmemize olanak tanır ve hataların önlenmesine ve kodumuzun güvenilirliğinin artırılmasına yardımcı olabilir.