Skip to content

Instantly share code, notes, and snippets.

プログラミングErlang - 式

4章あたり。 式の定義、式の用途。

式と式列

  • Erlang では、評価すると値が得られるものは何でも式と呼ばれる。

プログラミングErlang - 属性

4章あたり。
Erlang のモジュールの呼び出し、属性の定義、属性の構文など

属性

モジュール属性はAtomTag(...)という構文で指定し、ファイルをいくつかの属性を定義するために使われる。
モジュール属性には、定義済みとユーザ定義の2つの種類がある

プログラミングErlang - 用語

4章あたり。

epp

Erlang モジュールは、Erlang のプリプロセッサであるepp で自動的に処理してからコンパイルされる。
プリプロセッサはソースファイルに現れるマクロをすべて展開し、必要なインクルードファイルを挿入する。

普通はプリプロセッサの出力をチェックする必要はないが、
特別な状況(欠陥のあるマクロをデバッグするときなど)ではプリプロセッサの出力を取っておくとよいかもしれない。

プログラミングErlang - 例外

3章あたり。

例外の種類

システムが例外を起こすのは内部エラーが発生した場合と
コードが以下のいずれかを意図的に例外を発生させた場合

throw(Exception)

プログラミングErlang - 基本2

3章あたり。
Erlangの簡単な逐次的なコードやパターン照合に関する考え方を関数定義で使う方法を学ぶ

fun(無名関数)

  • funの引数は何個でもよい
  • 引数の個数を間違っているとエラーになる

プログラミングErlang - 基本1

2章〜3章あたり。
基本的なシンタックスの種類やルールなど

変数

  • 変数名は大文字でなければならない
  • 単一代入変数なので、一度しか値を代入できない
  • 変数のスコープは、変数が定義されている構文単位になる
    • 例えば、Xが関数の1つの節の中で使われている場合、その値は節の外には漏れない

Erlangプログラミングについて

Erlangプログラミングを読みながら特徴を随時更新していく感じ

Erlangの特徴

  • 関数型プログラミング言語の中でも文法がとっつきやすい
  • 20年を越える歴史がある
  • 高度な信頼性が要求される通信機器の分野でも実績がある
@fujimisakari
fujimisakari / programming_erlang_study.md
Last active June 18, 2019 22:47
プログラミングErlang 学習メモ
@fujimisakari
fujimisakari / file0.py
Last active December 5, 2019 10:15
Pythonでメタプログラミング ref: https://qiita.com/fujimisakari/items/0d4786dd9ddeed4eb702
class Hoge(object):
def function1(self, args):
return args
def function2(self, args):
return args + 50
@fujimisakari
fujimisakari / file0.txt
Last active August 29, 2015 14:16
EmacsでiOS開発(objective-c)するための環境構築 ref: http://qiita.com/fujimisakari/items/a6ff082f0e8eddc09511
;; iOS SDKへのPATH
(defvar xcode:sdk "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk")
;; TABスペースは利用せず、半角スペースを4つにする(デフォルトのままでは2になってました)
(add-hook 'objc-mode-hook
'(lambda()
(setq c-basic-offset 4)
(setq tab-width 4)
(setq indent-tabs-mode nil)))