2014-12-13 4 views
2

의 내가 0에서 100까지 n에 대한 2^n의 합계를 나는 다음과 같은 쓸 수 계산하려는 가정 해 봅시다 :인수로 ** 전달

seq { 0 .. 100 } 
|> Seq.sumBy ((**) 2I) 

그러나,이 (*) 또는 기타처럼 행동하지 않습니다 연산자/함수. 문제는 F #이 (**)을 사용하여 주석을 구분하고 지수 연산자의 사용법이 이와 같이 식별된다는 것입니다. 내가 대신

Seq.sumBy (fun n -> 2I ** n) 

또는

Seq.sumBy ((**) 2I) 

을 말할 수 있습니다 알고 있지만 전자는 좀 더 자세한보다도 필요하며, 후자에 여분의 공백은 나를 위해 큰 눈에 거슬리는입니다.

앞서 설명한 (**)의 사용법을 처리하는 표준 방법이 있습니까? 어쩌면 어떤 종류의 탈출?

답변

7

정식 방법은 주석 구문 분석을 피할 수

(**) 

을 사용하는 것입니다. (**) 변형은 (* ... *) 주석 블록 내에 중첩 될 때 문제를 일으킬 수 있습니다.

+0

감사합니다. 이런 표기법이 다른 모든 운영자에게 적용 되는가 아니면 이상한 표식인가? – nphx

+0

이것은 논점 때문에 단지 하나뿐입니다. –

+2

'(*)'도 맞습니까? – mydogisbox