haskell中"&"的含义是什么?

YYG*_*YGX 3 haskell

我是哈斯克尔的新手.有人给了我一个符号和一个公式:m&n = nm但ghci无法读取"&",我们搜索了互联网,没有找到任何信息.谁能告诉我这是什么意思?

Bar*_*icz 6

它是一个没有任何特殊含义的标识符,所以它意味着你想要的任何东西.例如在Lens &中使用是flip ($)为了方便,如下所示:

let x = (1,2)
  & _1 +~ 1
  & _2 +~ 2

-- x = (2,4)
Run Code Online (Sandbox Code Playgroud)

这也符合你的定义m & n = n m(它们是等价的).任何其他图书馆都可以使用它,如果你使用更好的搜索引擎,你会发现很多.

  • BTW(和Hayoo明确表示),`&`的这种用法实际上是在`base`包中定义的,在`Data.Function`中](http://hackage.haskell.org/package/base-4.10 .0.0 /文档/数据Function.html#ν:-33-).即使在完全没有任何镜头的项目中,我也经常使用这个操作员. (6认同)