関数の使い方メモ
動作環境
GHCi, version 7.6.3
(++)関数
Prelude> import Data.List
Prelude Data.List> [] ++ "abc"
"abc"
Prelude Data.List> [] ++ [1,2,3]
[1,2,3]
Prelude Data.List> [] ++ []
[]
Prelude Data.List> "abc" ++ []
"abc"
Prelude Data.List> [1,2,3] ++ []
[1,2,3]
Prelude Data.List> "abc" ++ "def"
"abcdef"
Prelude Data.List> [1,2,3] ++ [4,5,6]
[1,2,3,4,5,6]
Prelude Data.List> [] ++ [1..]
[1,2,3,4,5,Interrupted. (処理中断)
length関数
Prelude Data.List> length []
0
Prelude Data.List> length [1]
1
Prelude Data.List> length [1,2]
2
Prelude Data.List> length "abc"
3
Prelude Data.List> length ["abc","def"]
2
Prelude Data.List> length [1..]
Interrupted.
Prelude Data.List> length ""
0
reverse関数
Prelude Data.List> reverse []
[]
Prelude Data.List> reverse[1,2,3]
[3,2,1]
Prelude Data.List> reverse []
[]
Prelude Data.List> reverse [1,2,3]
[3,2,1]
Prelude Data.List> reverse "abc"
"cba"
Prelude Data.List> reverse [1]
[1]
Prelude Data.List> reverse "a"
"a"
Prelude Data.List> reverse [1..]
Interrupted.
intercalate関数
Prelude Data.List> intercalate "abc" ["eee", "fff", "ggg"]
"eeeabcfffabcggg"
Prelude Data.List> intercalate "" ["eee", "fff", "ggg"]
"eeefffggg"
Prelude Data.List> intercalate "" ["", "", ""]
""
Prelude Data.List> intercalate [1,2] [[333, 444], [555, 666], [777, 888]]
[333,444,1,2,555,666,1,2,777,888]
Prelude Data.List> intercalate [1,2] [[], [], []]
[1,2,1,2]
transpose関数
Prelude Data.List> transpose ["abcde"]
["a","b","c","d","e"]
Prelude Data.List> transpose ["abcde", "fghij"]
["af","bg","ch","di","ej"]
Prelude Data.List> transpose []
[]
Prelude Data.List> transpose [[], [], []]
[]
Prelude Data.List> transpose [[], [1], []]
[[1]]
Prelude Data.List> transpose ["123", "45", "6789"]
["146","257","38","9"]