2020-05-06から1日間の記事一覧

Haskell アプリカティブファンクターの学習

アプリカティブファンクター ファンクターの関数適用 アプリカティブファンクターの前にファンクターの関数適用について。 今まではfmap (*2) [1,2,3]のように引数に値を返す関数(*2)を定義していた。 これを let a = fmap (*) [1,2,3] ghci> :t a a :: Num …

Scala 式結果の変数代入と関数オブジェクトについての学習

変数の遅延評価 lazyキーワードを使用するとその変数にアクセスするまで評価が遅延する。 scala> val date = new java.util.Date date: java.util.Date = Wed May 06 18:59:57 JST 2020 scala> lazy val date = new java.util.Date date: java.util.Date = <lazy> </lazy>…

Haskell RandomパッケージとbyteStringの学習

Randomパッケージのインストール 多分、--libをつけないとexecutableじゃないと怒られる。 $ brew install cabal-install $ cabal update $ cabal install --lib random random関数 random関数はジェネレーターgを受け取り、乱数aとジェネレーターgを返す。 …

Haskell ファイル入出力の学習

ファイルを読む readfile.hs import Control.Monad import Data.Char main = forever $ do l <- getLine putStrLn $ map toUpper l $ ghc --make readfile.hs $ ./readfile < data.txt getContents関数 入力ストリームから文字列を得る関数。入力ストリーム…