- 博客(11)
- 收藏
- 关注
原创 Haskell语言学习笔记(54)Data.Set
Data.SetConstructionPrelude> import Data.Set as SPrelude S> emptyfromList []Prelude S> singleton 5fromList [5]Prelude S> insert 3 $ fromList [4,5]fromList [3,4,5]Prelude S> delete 5 $ fromList [
2017-12-14 22:36:38 630
原创 Haskell语言学习笔记(53)Data.Sequence
Data.SequenceConstructionPrelude Data.Sequence> emptyfromList []Prelude Data.Sequence> singleton 3fromList [3]Prelude Data.Sequence> 3 <| fromList [4,5]fromList [3,4,5]Prelude Data.Sequence> from
2017-12-14 22:35:55 552
原创 正则表达式(Java,C#,C++)
课题使用正则表达式匹配字符串 使用正则表达式 “\d{3}-(\d{4})-\d{2}” 匹配字符串 “123-4567-89” 返回匹配结果:’”123-4567-89” 以及 “4567”使用正则表达式替换字符串 使用正则表达式 “\d+” 匹配字符串 “123-4567-89” 将匹配结果即三个数字串全部翻转过来,返回结果 “321-7654-98”。使用正则表达式分割字符串
2017-12-01 19:55:36 703
原创 Haskell语言学习笔记(52)正则表达式
Text.Regex.PCRE.Heavy$ brew install pcre$ cabal install pcre-heavyInstalled pcre-heavy-1.0.0.2Prelude> :m +Text.Regex.PCRE.HeavyPrelude Text.Regex.PCRE.Heavy> Prelude Text.Regex.PCRE.Heavy> :set -X
2017-12-01 19:54:50 934
原创 Haskell语言学习笔记(51)Comonad
Comonadclass Functor w => Comonad w where extract :: w a -> a duplicate :: w a -> w (w a) duplicate = extend id extend :: (w a -> b) -> w a -> w b extend f = fmap f . duplicateComonad 是个类型类。比较
2017-12-01 19:54:10 644
原创 Haskell语言学习笔记(50)Extra
Extra安装 extra 模块。$ cabal install extraInstalled extra-1.6Prelude> :m +ExtraPrelude Extra> Data.List.Extra String operationsPrelude Extra> lower "This is A TEST""this is a test"Prelude Extra> upper
2017-12-01 19:53:23 377
原创 Haskell语言学习笔记(49)ByteString Text
Data.ByteStringString 是 [Char] 的同义词,在使用上存在List的惰性所带来的性能问题。 在处理大型二进制文件时,可以使用 ByteString 来代替 String。 ByteString 类型分为以下两种: * Lazy 模块 Data.ByteString.Lazy 中的 Data.ByteString.Lazy.ByteString Lazy 模块内部使用
2017-12-01 19:52:40 712
原创 Haskell语言学习笔记(48)Data.Tuple
Data.Tuplefst :: (a,b) -> afst (x,_) = xsnd :: (a,b) -> bsnd (_,y) = ycurry :: ((a, b) -> c) -> a -> b -> ccur
2017-12-01 19:51:38 826
原创 Haskell语言学习笔记(47)Arrow(2)
Function, Monad, Arrowf :: Int -> (Int, Int)f = \x -> let y = 2 * x z1 = y + 3 z2 = y - 5 in (z1, z2)-- ghci> f 10-- (23, 15)fM :: Int -> Identity (Int, Int)fM = \x -> do y <- re
2017-12-01 19:50:56 546
原创 Haskell语言学习笔记(46)Parsec(3)
Applicative Parsing使用 Applicative 式的 Parser。 包括使用 (<>),(<\*>),(<>), (<\*>), (<), (<*), (*>), (<|>), many 等运算符。应用实例1import Control.Monadimport Text.Parsecimport Control.Applicative hiding ((<|>))numb
2017-12-01 19:50:00 571
原创 Haskell语言学习笔记(45)Profunctor
Profunctorclass Profunctor p where dimap :: (a -> b) -> (c -> d) -> p b c -> p a d dimap f g = lmap f . rmap g lmap :: (a -> b) -> p b c -> p a c lmap f = dimap f id rmap :: (b -> c) -> p a b -
2017-12-01 19:49:14 524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人