コマンド |
説明 |
:l ファイル名 |
ファイルをロード |
:r |
ファイルのリロード |
:t val |
valの型を調べる(:typeでも可) |
例 |
型 |
説明 |
0 |
整数 |
|
0.0 |
小数 |
|
True |
真偽値 |
True/False |
"0" |
文字列 |
ダブルクオーテーションで囲む |
|not | |論理否定 "でない"
|* | |かけ算
|/ | |わり算(わられる数/わる数)
|+ | |たし算
|- | |ひき算
|== | |等価
|/= | |不一致
|&& | |論理積 "かつ"
||| | |論理和 "または"
- 関数名 引数 =
- 関数名 :: 引数の型 -> 戻り値の型 -- 型の定義
- 関数名 引数1 引数2 = 式
- 引数1
関数名
引数2
- 記号だけで構成された関数はバッククオーテーションで囲まなくても中置関数になる。
[4, 8, 15, 16, 23, 32]
[4, 8, 15, 16] ++ [23, 32]
4:[8, 15, 16, 23, 32]
4:8:15:16:23:32:[]
[1..100]
[1..]
-- 等差数列の先頭20個
take 20 [1,3..]
-- 内包表記
[x*2 | x <- [1..10]]
-- 熟語
[x | x<-[1..10], x `mod` 2 == 0]
[x + y | x<-[1..5], y<-[(-10),(-20)..(-50)]]
演算子 |
説明 |
L1 ++ L2 |
リスト同士の結合 |
c:L |
リストの先頭に要素を追加する |
L !! n |
n番目の要素を取り出す(0〜) |
head L |
先頭要素を取り出す |
tail L |
先頭要素を除いたリスト |
last L |
末尾要素 |
init L |
末尾要素を除いたリスト |
length L |
要素数を取り出す |
null L |
空リストかどうか判定 |
take n L |
先頭n個のリスト |
drop n L |
末尾n個のリスト |
maximum L |
最大値を戻す |
minimum L |
最小値を戻す |
sum L |
和を計算する |
product L |
積を計算する |
elem c L |
リストに要素が含まれているかどうか判定 |
延々続く処理を止める: control + c
型クラス |
何ができる? |
Eq |
==, /= |
Ord |
<, >, <=, >=, min, max |
Show |
show(文字列にできる) |
Read |
read(文字列からインスタンスに変換できる) |
Enum |
.., succ(次の要素) |
Bounded |
minBound, maxBound |
- Num
- Integral
- Int(型)
- Integer(型)
- Floating
- Float(型)
- Double(型)