当前位置:  开发笔记 > 小程序 > 正文

什么是素数在haskell?

如何解决《什么是素数在haskell?》经验,为你挑选了2个好方法。

在haskell我可以看到很多素数就像'chainl1'

这是什么意思?

  expr    = term   `chainl1` addop
  term    = factor `chainl1` mulop
  factor  = parens expr <|> integer

  mulop   =   do{ symbol "*"; return (*)   }
          <|> do{ symbol "/"; return (div) }

  addop   =   do{ symbol "+"; return (+) }
          <|> do{ symbol "-"; return (-) }

leftaroundab.. 15

prime(')被视为变量名中的任何数字,即除非它在开头你可以像字母一样使用它.因此名称如foldl'; 通常那些会引用类似事物的某种"替代",在这种情况下foldl除了懒惰的评价之外是等价的.

但是,您的示例中实际上没有任何素数.这些都是反击.使用反引号围绕一个函数可以让你像中缀操作符一样使用它,例如

plus :: Int -> Int -> Int
plus = (+)

前奏> 4`plus` 5
9


Mihai Maruse.. 6

二进制函数f通常应用于2个参数f x y.但是,有一些二进制函数(例如elem),有理由看到它们是中缀而不是后缀.要将二进制函数移动到中缀符号,请将其括在反引号(`)中.相比

intersect set1 set2 = [x | x <- set1, elem x set2]

intersect set1 set2 = [x | x<- set1, x `elem` set2]

第二个更接近数学符号.

另请参阅相应的了解Haskell章节

PS:您可以为运营商做相反的事情.通常运算符是infix(2 + 3)但是你可以通过将它括在parens((+) 2 3)中来将它移动到前缀



1> leftaroundab..:

prime(')被视为变量名中的任何数字,即除非它在开头你可以像字母一样使用它.因此名称如foldl'; 通常那些会引用类似事物的某种"替代",在这种情况下foldl除了懒惰的评价之外是等价的.

但是,您的示例中实际上没有任何素数.这些都是反击.使用反引号围绕一个函数可以让你像中缀操作符一样使用它,例如

plus :: Int -> Int -> Int
plus = (+)

前奏> 4`plus` 5
9



2> Mihai Maruse..:

二进制函数f通常应用于2个参数f x y.但是,有一些二进制函数(例如elem),有理由看到它们是中缀而不是后缀.要将二进制函数移动到中缀符号,请将其括在反引号(`)中.相比

intersect set1 set2 = [x | x <- set1, elem x set2]

intersect set1 set2 = [x | x<- set1, x `elem` set2]

第二个更接近数学符号.

另请参阅相应的了解Haskell章节

PS:您可以为运营商做相反的事情.通常运算符是infix(2 + 3)但是你可以通过将它括在parens((+) 2 3)中来将它移动到前缀

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有