かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Hello Worldを読もう

前に書いたHello Worldのプログラム!
こんなんでした。

main = putStrLn "Hello, World!"


1つ1つ噛み砕いてみよう

mainアクション

main = ....のmainがmainアクション。
Haskellは,最初にmainアクションが評価されて,mainアクションの評価が終わったら終了という流れ。

代入

main = .... の=を使って代入すると。
普通です。

関数

putStrLnという関数は,printfやstd::coutやSystem.out.printlnやConsole.WriteLineにあたるもの。
画面に出してくれる。
関数呼び出し時に,括弧でくくる必要もないとか。ふ〜ん。


putStrLn "Hello, World!"は,"Hello, World!"にputStrLnを適用する。という風に表すみたい。
そこらへんが今までやってきた言語とは感覚が違うのかぁ。慣れよう。

文字列リテラル

説明の必要も無いけど"Hello, World!"のこと。\nとかもいける。

ということで!!

読んでみよう。
「"Hello, World!"にputStrLnを適用する」をmainに代入。
実行時には,最初にmainが評価されるので,Hello, World!が表示される。
こんな理解であってるのかな?
とりあえず,こう思うことにしておこう。間違えてたら何処かで躓くだろう。