Miért a különbség a jelzett / nem jelzett érv eredményez különböző cserébe?

szavazat
0

Én csak most kezdtem tanulni indoka (OCaml), és nem értem a címmel dolog. Miért második része visszatér működnek, de nem számított érték? Azt hittem, hogy csak egy módja az elhaladó érv különbözik, és az eredmény nem.

let addWithoutLabel = (~x=10) => (y) => x + y;
let fifteen = addWithoutLabel(5);
Js.log(fifteen)
/* 15 */

let addWithLabel = (~x=10) => (~y) => x + y;
let sixteen = addWithLabel(~y=6);
Js.log(sixteen)
/* 
function sixteen(param) {
  return addWithLabel(param, 6);
}
*/

https://reasonml.github.io/en/try.html?rrjsx=true&reason=DYUwLgBAhgJjDqBLMALA9gVzAGSgIxGAgF4IAKAPwA9iBGABgEoSA+cgT2eLaogGoI7ANwAoUJABmiCWBAgAdiWhwkqTDnyEyAVkaiAUgGcAdMDQBzMlJlz5jEQHoAVBFraIThyLHhlCZCi4BESklDQMXGyUnKwQvALCPpCGiFSyCkqw-qhBWhTsxABseiJGphZkKWm29s4QIhIY8gDGYIhoilXp8mQADlAATlAAtswA3iIQEAPgGAOKWaqBmsB9gyMANBDFogC+Ip5AA

A kérdést 14/02/2020 00:00
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
3

Ez szükséges, hogy legalább az egyik helyzeti paramétert, ha van választható jelölt érvek (vagy az Ön esetében, érvek egy alapértelmezett paraméter). Egyébként Ok elvárja, hogy a használni kívánt részlegesen alkalmazott funkciót.

Annak érdekében, hogy a teljes körű alkalmazását, egy mértékegység, ()mind a funkció nyilatkozat és a funkció meghívása, hogy mondja a fordító, hogy szeretné, hogy kihagyja a ~xparamétert.

let addWithoutLabel = (~x=10) => (y) => x + y;
let fifteen = addWithoutLabel(5);
Js.log(fifteen)
/* 15 */

let addWithLabel = (~x=10) => (~y, ()) => x + y;
let sixteen = addWithLabel(~y=6, ());
Js.log(sixteen)
/* 16 */

https://reasonml.github.io/en/try.html?rrjsx=true&reason=DYUwLgBAhgJjDqBLMALA9gVzAGSgIxGAgF4IAKAPwA9iBGABgBoIBPAShID4IqIBqVgG4AUKEgAzROLAgQAOxLQ4SVJhz5CZAKxsRAKQDOAOmBoA5mUnTZc3cID0AKgi0tER-eGjwShMhS4BESklDQMHMTclCzMZGwR3LwCLCJiEAaIVDLyirB+qIGaFCzEAGyx8frGphYZWTZ2Ti6l7p5AA

Válaszolt 14/02/2020 00:33
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more