Elmを学ぶ
この週末,鳥居陽介『基礎からわかる Elm』(C&R研究所)を読みながら,プログラミング言語Elmを学んでいるわけである。
Webアプリケーションの開発の仕方を学ぼうと思って。
『基礎からわかる Elm』は非常にわかりやすい本なのだが,全くのプログラミング初心者には向いていない。
ある程度,Windows PowershellなどのCUIコンソールが使えることが必要。
そういう意味では,老生のような,GUIが無かった時代のコンピュータ利用経験がある人間には問題なし。
以下,Elmによるプログラミングを学ぶ上での留意事項。
elm-formatのインストールについて
Elmのインストール作業自体は,この本の20ページに書いてあるように公式サイトからインストーラをダウンロードすれば問題なくできる。
しかしながら,コードを整形するためのツール,elm-formatをインストールしようとすれば,まず,node.jsのインストールもnode.jsの公式サイトに行き,別途行わないといけない。
そして,powershell上で
npm install -g elm-format |
と打ち込むことでelm-formatがインストールされる(本書22ページ参照)。
なお,一般ユーザとしてWindows Powershellでelm-formatを使おうとすれば,Powershellを管理者として立ち上げ,
Set-ExecutionPolicy Remotesigned |
と打ち込んで Y と答えて設定しておかないと,elm-formatが動かない。この辺は本には書いていないので,調べてみること(参考: Cheshire Wara)。
ということで,elm自体はともかく,elmでのプログラミングをサポートする環境づくりにはpowershellの知識が要る。
ちなみに老生はVisual Studio Codeをエディターとして使っているが,ここでもElm用のプラグインをインストールしないといけない。そのあたりの段取りは省略。
moduleの宣言を忘れないこと。
この本の最初のプログラムとして紹介されているのが,"Hello, world!"を表示する(htmlファイルを作成する)プログラムである(24~25ページ)。
サンプルコード(Hello.elm)の内容は次の通り:
import Html exposing (text) main = text "Hello, world!" |
これを,本に書いてあるとおりの段取りでsrcというフォルダーの中に保存する。
しかしながら,24ページに書いてあるように
elm make src/Hello.elm |
とコマンドを打ち込んでも
Detected problems in 1 module. -- MODULE NAME MISSING ------------------------------------------- src\Hello.elm I need the module name to be declared at the top of this file, like this: module Hello exposing (..) Try adding that as the first line of your file! Note: It is best to replace (..) with an explicit list of types and functions you want to expose. When you know a value is only used within this module, you can refactor without worrying about uses elsewhere. Limiting exposed values can also speed up compilation because I can skip a bunch of work if I see that the exposed API has not changed. |
というようにElmに指摘を受けることとなる。
そこで,サンプルコードに一行足して
module Hello exposing (..) import Html exposing (text) main = text "Hello, world!" |
と直してから
elm make src/hello.elm |
というコマンドを再実行すれば,ちゃんとコンパイルされて,htmlファイルができる。
この本が書かれたときのElmのバージョンは0.19だったのだが,いまのバージョンは0.19.1なので,仕様が変わったのかもしれない。
ということで最初はいろいろ躓くが,それを乗り越えれば面白く学べる言語である。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- Copilotにあらすじを書いてもらう(2023.10.28)
- Microsoft Copilotとのやり取りの例(2023.10.17)
- 「情動エンジニアリング」について考える本(2022.03.19)
- Elmを学ぶ(2021.12.19)
- Microsoft EdgeでPDFを開こうとするとフリーズする件(2021.07.31)
コメント