Skip to content

step2 変数宣言とprintfnと書式指定子

Step 1 では、F#プロジェクトの作成と実行方法を確認した。Step 2 では、F#における基本的な変数宣言、値の出力方法について学び、実際にコードを書いていく。

変数宣言

F#では、let キーワードを使って変数を宣言することができる。一応書いておくと、文末にセミコロンは必要ない。

let 変数名 =

let束縛は、値を名前に紐づける。 TypeScript と異なり、varconstは存在しない。 また、基本的には変数の再代入はできない。 例えば、整数型の変数 x10 を代入する場合は、以下のように記述する。

let x = 10

F#は型推論が強力なため、ほとんどの場合、変数の型を明示的に指定する必要はない。コンパイラが値から型を推論してくれる。

もちろん、型を明示的に指定することも可能だ。型を明示する場合は、変数名の後ろにコロン(:)を置き、その後に型名を記述する。

let x: int = 10

出力

コンソールに値を出力するには、printfn 関数を使用する。

printfn "出力したい文字列"

TypeScript の console.log() に相当する関数だと考えると分かりやすい。

書式指定子

printfn 関数では、書式指定子を使って、変数などの値を文字列に埋め込むことができる。書式指定子は % から始まる文字列で、値の型に応じて使い分ける。

主な書式指定子は以下の通りだ。

書式指定子説明
%d整数 (int)
%f浮動小数点数 (float)
%s文字列 (string)
%b真偽値 (bool)
%A任意の型 (型に合わせた適切な形式で出力)

例えば、変数 x の値を埋め込んで出力したい場合は、以下のように記述する。

let x = 10
printfn "xの値は%dです" x

このコードを実行すると、xの値は10です とコンソールに出力される。

複数の値を埋め込むことも可能だ。

let name = "Alice"
let age = 30
printfn "%sさんの年齢は%d歳です" name age

この場合、Aliceさんの年齢は30歳です と出力される。 困ったときは%Aを使うと、型に合わせた適切な形式で出力される。

Program.fs への適用

それでは、Program.fslet で変数を束縛し、printfn で出力してみよう。 Program.fs を以下のように書き換える。

let answer = 42
printfn "正解は%dです" answer

書き換えたら dotnet run で実行する。 以下のように表示されれば成功だ。

正解は42です

まとめ

このステップでは、以下の内容を学んだ。

  • let キーワードを使った変数宣言
  • printfn 関数を使ったコンソールへの出力
  • 書式指定子を使った値の埋め込み

次のステップでは、ユーザーからの入力を受け取る方法を学ぶ。