Elixirの入門書を読んでいる。
iex
でElixirのREPL(Read-Eval Print Loop)に入れる。Elixirにおいてはそのような形ではなく、名前に値を参照させている。上の例では、n
に1
を参照させている。のであって、この場合、n
に1
が入っているという箱のイメージは実態とずれていることになるのかな?
「Elixirでは値はイミュータブル」という宣言があったけれど(書籍中)、これは値の再代入が不可能であるという意味ではないようす。上の例(画像)ではn
に1
を代入したあと2
を代入してもエラーになっていない。
2
はどこに存在し続けているのだろう???????コンピュータプログラミングにおいて、プログラムの断片をひとつのまとまりとしてとらえたものを一般に「サブルーチン」と呼びます。このサブルーチンを具体的にどう呼ぶかは言語によって異なります。RubyやJavaのようなオブジェクト指向言語ではメソッド(method)と呼ばれることが多いのですが(例外もあります)、Erlang、Haskell、Elixirのような関数型言語では関数(function)と呼ばれます。PHPのように関数とメソッドを使い分ける言語もあります。また、プロシージャ(procedure)という用語を用いる言語もあります(Pascalなど)。
Tsutomu Kuroda. Elixir/Phoenix Primer Volume 1 Third Edition: The first step (OIAX BOOKS) (Japanese Edition) (Kindle の位置No.723-727). Coregenik. Kindle 版.
puts
をいきなり書いたとしても、puts('hello!')
引用2。
IOはモジュール(module)の名前です。Elixirのモジュールは関数の入れ物(名前空間)です。
Tsutomu Kuroda. Elixir/Phoenix Primer Volume 1 Third Edition: The first step (OIAX BOOKS) (Japanese Edition) (Kindle の位置No.729-730). Coregenik. Kindle 版.
名前空間ってそういう意味だったのかあ〜〜〜〜〜〜〜〜〜〜。
次のように関数の引数は括弧で囲まなくても構いません。
IO.puts n
しかし、原則として関数の引数は括弧で囲むことが推奨されています。
Tsutomu Kuroda. Elixir/Phoenix Primer Volume 1 Third Edition: The first step (OIAX BOOKS) (Japanese Edition) (Kindle の位置No.732-735). Coregenik. Kindle 版.
#
で。(octothorpe, またのなを pound, hash, mesh, とも。)次回は4章、基本データ型。
だんだんプログラミングっぽくなってきて嬉しいじゃないの。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント