tfwh-0.3.7.0

Safe HaskellSafe
LanguageHaskell2010

TFwH.Chap01

Contents

Description

TFwH 第1章 関数プログラミングとは何か

Synopsis

1 関数プログラミングとは何か

1.1 関数と型

1.2 関数合成

1.3 頻出単語

type Text = [Char] Source #

テキストの型

type Word = [Char] Source #

単語の型

commonWords :: Int -> Text -> String Source #

commonWords n はテキストから頻出単語の出現回数の上位 n 個の単語を出現回数とともに表示するための文字列を生成する.

commonWords n = concat       -- 連結する
              . map showRun  -- 単語と出現回数をを表示する文字列を生成する
              . take n       -- 上位 n 個を取り出す
              . sortRuns     -- 出現回数順でソートする
              . countRuns    -- 出現回数を数えて単語と出現回数を対にする
              . sortWords    -- 単語をソートする
              . words        -- テキストを単語に分解
              . map toLower  -- テキストの文字をすべて小文字にする

sortWords :: [Word] -> [Word] Source #

未定義

countRuns :: [Word] -> [(Int, Word)] Source #

未定義

sortRuns :: [(Int, Word)] -> [(Int, Word)] Source #

未定義

showRun :: (Int, Word) -> String Source #

未定義

1.4 例題:数を言葉にする

convert :: Int -> String Source #

6桁以下の数を英単語に変換する

>>> convert 308000
"three hundreds and eight thousand"
>>> convert 369027
"three hundreds and sixty-nine thousand and twenty-seven"
>>> convert 369401
"three hundreds and sixty-nine thousand four hundreds and one"

units :: [String] Source #

1桁の数

teens :: [String] Source #

10台の数

tens :: [String] Source #

10の倍数

convert1 :: Int -> String Source #

1桁の数の変換

digits2 :: Int -> (Int, Int) Source #

2桁の数の桁分解

convert2 :: Int -> String Source #

2桁の数の変換

combine2 :: (Int, Int) -> String Source #

2つの桁を合成

convert3 :: Int -> String Source #

3桁の数の変換

convert6 :: Int -> String Source #

6桁の数の変換

link :: Int -> String Source #

接続詞