演算子を適用する

完了

通常、プログラムは入力を受け取ります。 入力は、Web 要求、ファイル、コンソールまたはグラフィカル ユーザー インターフェイスを介したユーザー入力などのソースから取得されます。 入力データをプログラムに取り込んだ後、プログラムで処理できる形式になっていなければなりません。 また、演算子がデータに対してどのように操作や計算を実行するのか理解していなければなりません。

コンソールから入力を読み取る

コンソールから読み取る場合は、名前空間 System にあるメソッドを使用できます。 Console.Readline() といったものを使用する必要があります。 このメソッドは、改行文字までのすべての文字を読み取り、それらの文字を 1 つの文字列として配置します。 このメソッドを使用した例を次に示します。

System.Console.Write "Type a value:"
let str = System.Console.ReadLine()
printfn "You typed %s" str

このコードは、ユーザーが入力した値を文字列変数に格納する目的では問題なく動作するかもしれません。 しかし、プログラムがユーザー入力を受け取り、それを数字やブール値として扱って演算で用いる必要がある場合、どうなるでしょうか。 その時点で、データを変換する必要があります。

データ型間の変換

変数に値を代入することによって F# が変数の型を暗黙的に推論する方法をみてきました。以下のようなケースです。

let myNumber = 3

しかし、文字列があり、これを int 型に変換したい場合はどうなるでしょうか。

let myString = "3"

主な方法は 2 つあります。

  • System.Int32.Parse(): .NET で動作するものを使用します。名前空間 System にある関数 Parse() すなわち System.Int32.Parse() を使用します。
  • 組み込みの int: 使用できる組み込み関数 int があります。

最初の方法を使用するには、次のようにコードを記述します。

let first = "32"
let numberVersion = System.Int32.Parse first 
printfn "Number %i" numberVersion // Output: Number 32

組み込みの int 関数を使うには、次のように入力します。

let first = "32"
let numberVersion =  int first 
printfn "Number %i" numberVersion

では、どちらを使用しますか。 組み込み関数 int を使用したバージョンが推奨されます。

オペレーター

コンソールから入力を読み取る方法と、その入力がどのようにして文字列として格納されたかを確認しました。 演算で使用するために、値を文字列から int に変換する方法を確認しました。ほとんどの型に対して変換関数が存在します。 コードを使用して何か有用なことをするには、演算子について学習する必要があります。 算術演算子を使用すると、加算、減算、除算などを実行できます。 これらの演算子は基本データ型に対して使用できます。 最も重要な演算子のいくつかを次に示します。

演算子 [説明]
+ 2 つの値を加算します
- ある値を別のものから減算します
/ 左側の値を右側の値で除算します
% 剰余と呼ばれ、左の値を右の値で除算した余りを与えます
<> 2 つの値が等しくないことをチェックします
= 2 つの値が等しいことをチェックします

たとえば、剰余演算子を使用するには、次のように入力します。

let no = 10
let isDivisibleByTwo = no % 2 = 0
printfn "Divisible by two %b" isDivisibleByTwo