気づき

2020/06/19

学習中に気づいたこととか覚えておいたほうがよさそうなこと

語彙

アリティ arity

関数末尾にある /n のこと. 引数の数.

引数の数が異なる同名の関数が定義できるので、関数への参照?を得るためには arityを指定して唯一性を担保しなくてはいけないようだ.

内包表記 (comprehension)

ローカル変数を定義して、それにマッチするリストを与え、すべての組み合わせに対して 関数を評価した結果のリストが得られる。

for value <- range, cond, do: expression

バイナリを扱う場合の例

iex(1)> pixels = <<213, 45, 132, 64, 76, 32, 76, 0, 0, 234, 32, 15>>
iex(2)> for <<r::8, g::8, b::8 <- pixels>>, do: {r, g, b}
[{213, 45, 132}, {64, 76, 32}, {76, 0, 0}, {234, 32, 15}]

ジェネレータ節

cond式

プロトコル

ビヘイビア

ファイル拡張子の識別

拡張子 概要
*.exs scriptから直接実行する(実行時コンパイル?)
*.ex コンパイルしてバイナリを生成する

elixir関連ネタ

2020/06/16(火)Elixirを学ぶ

動機

さる SWEST-21 において、 Nervesハンズオンを体験した。

ここでElixir, earlangについて知るきっかけとなる。組み込み向けのシステムとして使用されており、サーバサイドのNerves Hubから末端のNerves device(raspberry Pi, Beagle Bone)までサポートされていた。

OTA(Over The Air)による自動デプロイがサポートされていたことがとても印象強く、安定した(比較的リアルタイム性を必要としない)システムを構築できそう、という感じを受けました。

なにより開発者の一人である, Justin氏が来日されていたのも大きいですね。

環境を探す

editor

IntelliJやCLionだとプラグインがある.

vim-plugin

語彙

初めて触れたとき、単語の意味がわからなかった。正確性にかけるかもしれないけれど、以下に記録しておく:

概要?
Earlang Erlangは数学者のアグナー・アーランから名前をとって命名された。Ericson社が1998年にOSS化。
OTP Elixirで Earlを使うための結合部分?
Elixir Earlを使っている新たな言語. Rubyの影響を大きく受けている?
mix ビルドシステム?
Hex パッケージ管理システム
asdf Earlang/Elixirをソースビルドする管理システム??(shell script)

公式?

入門記事

Phoenix (WEB framework)

書籍類

プログラミング Elixir(AA)