2015-08-20 12 views

cevap

10

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#) :-).