egd*_*try 1 arrays haskell types
我注意到在以下示例中:
incrementByIndices :: Array Int Int -> [Int] -> Array Int Int
incrementByIndices arr indices = arr // zip indices (map (\i -> arr!i + 1) indices)
Run Code Online (Sandbox Code Playgroud)
zip不必被括号括起来.为什么会这样?:i (//)
没有显示不同的优先级//
所以我认为它是常规功能应用程序.为什么我没有类型检查错误说明zip
不能成为//
争论?
与之相反:
nub nub [1,2,3]
Run Code Online (Sandbox Code Playgroud)
yat*_*975 11
函数应用程序绑定比任何运算符都紧,所以你的表达式不需要括号,原因与之相同,例如,这个不是:
zip [1,2,3,4] [5,6,7,8] ++ zip [20,30] [30,40]
Run Code Online (Sandbox Code Playgroud)
优先级和固定性(//)
在这里根本不重要!
归档时间: |
|
查看次数: |
72 次 |
最近记录: |