2015-09-02 16 views
5

przypadku większości operatorów w F # można używać prefiksu lub notacja infiksowa, na przykład:Jak używać operatora potęgowania F # (**) w notacji przedrostkowej?

let x = a + b 

jest równoważna

let x = (+) a b 

ta nie działa dla operatora exponentation ** Jednakże, ponieważ parenthesised wersja jest traktowana jako komentarz. Oznacza to, że (* to jest komentarz *) jest składnią F # dla komentarza, więc (**) jest traktowane jako pusty komentarz.

let x = a ** b // a raised to b 

let x = (**) a b // empty comment, followed by function a applied to b 

Czy istnieje znak ucieczki, z którego mogę skorzystać, czy jest to po prostu dziwna dziwactwo języka?

+10

Spróbuj '(**)' zamiast. – kvb

+3

@kvb Nie jestem pewien, jak rozszerzyć to do wymaganej liczby znaków, ale powinieneś opublikować to jako odpowiedź :) –

Odpowiedz

4

Użyj spacji między nawiasami, jak wskazano przez kvb w komentarzach:

let x = (**) a b 
Powiązane problemy