假设我想计算2^n
n
的总和,范围从0到100.我可以写下以下内容:
seq { 0 .. 100 }
|> Seq.sumBy ((**) 2I)
但是,这不像(*)
或其他运算符/函数。问题是F#使用(*
和*)
来分隔注释,并且我对exponentiation运算符的使用也是如此。我知道我可以改为说
Seq.sumBy (fun n -> 2I ** n)
甚至
Seq.sumBy (( **) 2I)
但是前者比必要的更冗长,后者的额外空白对我来说是一个巨大的眼睛。
是否有标准方法来处理(**)
的上述用法?也许某种逃避?
答案 0 :(得分:7)
规范方法是使用
( ** )
避免了注释解析。嵌套在( **)
注释块
(* ... *)
变体可能会导致问题