Skip to content

Instantly share code, notes, and snippets.

プログラミングErlang - 例外

3章あたり。

例外の種類

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

throw(Exception)

プログラミングErlang - 用語

4章あたり。

epp

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

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

プログラミングErlang - 属性

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

属性

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

プログラミングErlang - 式

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

式と式列

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

プログラミングErlang - 構文

4章あたり。

関数の参照

現在のモジュールや別のモジュールで定義されている関数を参照するには以下の方法がある。

  • fun LocalFunc/Arity

プログラミングErlang - コンパイルと実行

5章あたり。

プログラムの実行方法

プログラムを3種類の方法で実行してみる

・hello.erl

プログラミングErlang - 並行プログラミング

8章あたり

並行プログラミングの基本処理

Eralngで並行プログラミングするには、以下の3つプリミティブ処理を覚えればいい

プロセスの作成

プログラミングErlang - 並行プログラミングにおけるエラー

9章あたり

エラー処理に関わる概念

並行プログラミングにおけるエラーを理解するには以下の3つの概念を理解する

プロセスリンク

  • リンクは2つのプロセスの間のエラー伝播経路を定義するもの
  • 2つのプロセスがリンクされている場合に一方のプロセスが死ぬと、終了シグナルがもう一方のプロセスに送られる。

プログラミングErlang - 分散プログラミング

10章あたり

分散プログラム

分散プログラムとは、ネットワークを構成するコンピュータで動作するように設計されたプログラムのこと。
Erlangの分散プログラムは、信頼できる動作環境でどのErlangノードでも他のノードに対して
メッセージパッシングだけを使ってお互いの動作の調和をとることができる

@fujimisakari
fujimisakari / csharp-checker.sh
Last active September 4, 2015 09:09
EmacsでUnity開発(c#)するための環境構築 ref: http://qiita.com/fujimisakari/items/d043a2fae31ed740e290
#! /bin/bash
# シンタックスチェック
/usr/bin/mcs -r:/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll,/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEditor.dll,~/projects/proj1/Library/ScriptAssemblies/Assembly-CSharp.dll,~/projects/proj1/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll $1 -target:library
dll_file=`echo $1 | sed -e "s/\.cs/.dll/"`
ls ${dll_file} && rm ${dll_file}
# コードスタイルチェック
/usr/bin/mono ~/.emacs.d/bin/StyleCopCLI.exe -cs $PWD/$1 -out /tmp/stylecop.log
# エラーとして扱いたくないものは、grepに追加していく