top page > computer > haskell > web_lecture > for_programmer > functor_use.html
更新日:
文責: 重城良国

ファンクターの使い道

(工事中 40%)

はじめに

より学習が進むとファンクターの使える場面が増える。ここではやや人工的な例を示す。

中身を文字コードに

functor_use.hs

ファンクターの中身の文字を文字コードに変換する関数を考える。

import Data.Char

toCode :: Functor f => f Char -> f Int
toCode = fmap ord

この関数はリストに対してでもMaybe値に対してでも使うことができる。

% ghci functor_use.hs
*Main> toCode "abc"
[97,98,99]
*Main> toCode $ Just 'd'
Just 100

まとめ

コンテナなどの構造に影響を与えないような変換を行うのに関数fmapが使える。関数fmapを使って定義しておけばファンクターでさえあれば値を含むどんな構造であってもかまわない。

メモ

ファンクターの良さはこれで伝わるか?

「ファンクターとは」へもどる 「2引数関数についての復習」へ

正当なCSSです! HTML5 Powered with CSS3 / styling, and Semantics