Haskell 7日目
Haskell 7日目。
基本的な値に進みます。
Haskellの型
| 値 | 型 |
|---|---|
| 真偽値 | Bool型 |
| 数値 | Int型、Integer型、Float型、Double型 |
| 文字 | Char型 |
| 文字列 | String型=[Char]型 |
| タプル | (a,b)型 |
| ユニット | ()型 |
| リスト | [a]型 |
この他に重要な値として『関数』がありますが、8章で出てくるらしいです。
真偽値(Bool型)
Haskellの真偽値はTrueかFalseで、型はBool型となります。
Bool型の関数
| 関数 | 機能 |
|---|---|
| not | TrueであればFalse、FalseであればTrueを返す |
| (&&) | 両方Trueの時にTrueを返す。 |
| (||) | いずれかがTrueの時にTrueを返す。 |
数値型(Int型、Integer型、Float型、Double型)
整数型
Haskellの整数型にあInt型とInteger型があります
Int型の範囲は処理系によって異なる。32ビットマシン上のGHCなら32ビットの符号付き整数となります。
Integer型は表現範囲に制限のない整数値を表現します。
整数の表記方法
| 進数 | 表記法法 | 例 |
|---|---|---|
| 10進表記 | 0〜9で記述 | 12345 |
| 8進表記 | 0oを前に付け、0〜7で記述 | 0o644 |
| 16進表記 | 0xを前に付け、0〜9、a〜fで記述 | 0o1f |
上記のリテラルは数値型であることは決まっていますが、Int型にもInteger型にも、浮動小数点型にもなります。
数値リテラルの型を限定するには、
x = (16 :: Int)
の様に『::』構文を使って表現します。
浮動小数点数型
Float型は単精度不動小数点数、Double型は倍精度浮動小数点数を表現します。
1.5 3.141592 77.38905609893065 0.1543e+2 -- 0.1543 * 10^2 に相当 1543e-3 -- 1543 * 10^-3 に相当
数値の演算
数値に関わる主な関数は下記の通りです。
| 使用例 | 意味 |
|---|---|
| x+y | xとy |
| x-y | xとyの差 |
| x^y | xとyの積 |
| x/y | xとyの商(浮動小数点同士のみ) |
| x`div`y | xとyの整除(整数同士のみ、負の無限大に向かってまるめる) |
| x`quot`y | xとyの整除(整数同士のみ、ゼロに向かってまるめる) |
| x`mod`y | (x`div`y)のあまり(整数同士のみ) |
| x`rem`y | (x`quot`y)のあまり(整数同士のみ) |
| x^y | xのy乗 |
| -x | xの符号反転(単項マイナス) |
| negate x | xの符号反転(単項マイナスの別名) |
| subtract x y | (y - x)と同じ |
| abs x | xの絶対値 |
| odd x | xが奇数ならTrue、偶数ならFalse |
| even x | xが偶数ならTrue、奇数ならFalse |
2つの数値間で演算をするときは、2つの数値の型が同じでなければいけません。
違う型同士で演算を行いたい場合は、明示的に型を変換する必要があります。
整数型を他の方に変換する関数
| 使用例 | 意味 |
|---|---|
| toInteger x | Int型の値xをInteger型に変換 |
| fromInteger x | Integer型の値xを数値型に変換(返り値の型は文脈で決まる) |
| fromIntegral x | Int型またはInteger型の値xを数値型に変換(返り値の型は文脈で決まる) |
浮動小数点数型を整数型に変換する関数
| 使用例 | 意味 |
|---|---|
| celling x | xを下回らない最小の整数 |
| floor x | xを上回らない最大の整数 |
| trancate x | xと0の間でxに最も近い整数(x自身を含む) |
| round x | xに最も近い整数(2つある場合は偶数) |
関連記事
[Haskell][プログラミング言語][関数型言語][遅延評価]Haskell 6日目
[Haskell]Haskellのリファレンスマニュアルを検索するツール href
[Haskell][プログラミング言語][関数型言語]ふつうのHaskellプログラミング
[プログラミング言語]ハッカーを目指す者が習得すべき5つのプログラミング言語
[プログラミング言語]プログラミング言語ヒエラルキー

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門
- 作者: 青木峰郎,山下伸夫
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/06/01
- メディア: 単行本
- 購入: 25人 クリック: 314回
- この商品を含むブログ (320件) を見る