FSharp やってみた

良い感じのブラウザだと Try F# で式を評価できるらしいんだけど、できないブラウザだったので、処理系をインストールして式を評価してみるよ。

インストール

yaourt で fsharp をインストールできるよ。

% yaourt -S fsharp

REPL 起動

REPL を起動する時は fsharpi って打ってね:

% fsharpi

れっと

let を使って変数?を定義?することができるよ:

> let lucky = 3 + 4;;
val lucky : int = 7

あと、式の最後には ;;(セミコロン 2 つ)を付けてね。
前に定義してた変数?も参照できるよ:

> let unucky = lucky + 6;;
val unucky : int = 13

とりあえず変数?を定義?して 別の値を設定することもできるよ。
シャドウイングってやつ?

> let duplicated = "original value";;
val duplicated : string = "original value"

> let duplicated = "new value";;     
val duplicated : string = "new value"

れっと☆みゅーたぶる

let した変数?は二度と変更することができないよ。
どうしても変更したい変数?を使う時は let mutable で定義?するといいみたい:

> let mutable modifiable = "original value";;
val mutable modifiable : string = "original value"

> modifiable <- "new value";;
val it : unit = ()

> modifiable;;               
val it : string = "new value"

「代入」する場合は <-(左向き矢印)を使うみたい。

型推論されて int とか float とか string になってるー!!! というやつ。

> let anInt = 10;;
val anInt : int = 10

> let aFloat = 20.0;;
val aFloat : float = 20.0

> let aString = "I'm a string!";;
val aString : string = "I'm a string!"

出力

へろーわーるどするときは printfn を使うよ:

> printfn "Hello, World from F# REPL!!";;
Hello, World from F# REPL!!
val it : unit = ()

printf みたいに書式をあれしてこれできる:

> printfn "The answer is %d" 42;;
The answer is 42
val it : unit = ()

Lisp でいうと:

(printfn "The answer is %d" 42)
;; | The answer is 42
;; => nil 

(๑´ڡ`๑) おしまい

参照