スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Primitive Types (F#入門第三回)

さて今回はF#でよく使う型を紹介していきたいと思います。まずは数がらみから始めます。
F# Interactiveで1;;と入力してEnterキーを打ってみると次のようになります。

> 1;;
val it : int = 1


これで、分かるのは、「1とういうのはint型の値として取り扱われますよ。」ということです。
F#でのint型というのは.NETでいうところのSystem.Int32型と同じものです。またF#でint32と指定しても同じ型となります。それではいろいろな数の型を順に入力してみます。

>1;;
val it : int = 1

>2u;;
val it : uint32 = 2u

> 3L;;
val it : int64 = 3L

> 4UL;;
val it : uint64 = 4UL

> 5.0;;
val it : float = 5.0

> 6.0F;;
val it : float32 = 6.0f

> 7M;;
val it : decimal = 7M

それぞれの.NETでの対応する型を書いておきます。
int ---- System.Int32
unit32 ---- System.UInt32
int64 ---- System.Int64
unit64 ---- System.UInt64
float ---- System.Double
float32 --- System.Float
decimal --- System.Decimal

注意すべき点は、それぞれ表せる数の範囲や、精度に制限があることです。それでは数同士の演算を定義する演算子(Operater)の紹介です。次の例を見てください。

> 1+4;;
val it : int = 5

> 3u-4u;;
val it : uint32 = 4294967295u

> 5.0*6.0;;
val it : float = 30.0

> 2/3;;
val it : int = 0

> 2.0 ** 8.0;;
val it : float = 256.0

> 7 % 3 ;;
val it : int = 1

上から順に和、差、関、商、べき乗、剰余(割った余り)を計算していますが、2番目の3u-4uは符号なしの整数で、結果が負になり結果として最大数である数になってしまってます。
また4番目の例では、2/3で、結果がint型にならないといけないので0になります。
このように、とにかく表せる数の範囲を頭に入れて、計算をさせないと、とんでもない目にあうことになります。また、これらの演算は同じ種類の型同士でないと、できないということと、「型は勝手に他の型に変換されることはない」ということに留意してください。その他、次のような数の型があります。

> //Syste.Byte
2uy;;
val it : byte = 2uy

> //System.Byte
2uy;;
val it : byte = 2uy

> //System.sbyte
3y;;
val it : sbyte = 3y

> //System.Int16
4s;;
val it : int16 = 4s

> //System.UInt16
5us;;
val it : uint16 = 5us

//というのは「この行のここから先はコメントだよ」という、コメント開始記号です。

スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

T GYOUTEN

Author:T GYOUTEN
F#と英単語とフリーソフトと読書に興味があります。
ホームページでフリーソフトも公開しています。どぞ御贔屓に。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
フリーエリア
フリーエリア
blogram投票ボタン
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。