Bu, ayrıştırıcının belirsizlikten kaçınmak için farklı sözdizimsel seçenekleri önceliğe ayırmasıyla ilgilidir.
+
hem ikili toplama işleci hem de "pozitif" işlecinin tek kullanıcısıdır. 5 + b
bu nedenle iki argümana eklenme uygulamasıdır; ancak +b
, bazı sembollere b
sembolüne uygulanan pozitif operatördür.
Böylece
let ab a b = a 5 + b
olarak ayrıştırılır: a
ile
let ab a b = (a 5) + b
olan bu b
eklenebilir, böylece bir int dönen bir tamsayı bağımsız değişken bir fonksiyonu; ancak
let ab2 a b = a 5 +b
ayrıştırılır olarak:
let ab2 a b = a (5) (+b)
döndürür türünü tahmin için bir yol ile, iki bağımsız bir fonksiyonu olduğu a
ile.
Elimde bir F # işleci yok, bu nedenle doğru adı kontrol edemiyor. Düzenleme: doğru hatırlayamadığım halde: Arithmetic Operators (F#) :-).
'+ 'ifadesinde' + '[tekli operatör] (https://en.wikipedia.org/wiki/Unary_operation) olarak yorumlanır (yalnızca argüman olarak" b "ifadesiyle). – Glorfindel