Little Expression Language
たいていのプログラミング言語のなかに埋め込める。
- 型:numberとboolean
- リテラル:普通
- 変数(インフォーマル):a,b,c, x,y,zはnumber、p,q,r,s,tがboolean
- 名前付き関数と無名関数
- 算術演算子:+, -, *, %, 単項の-
- 組み込み関数: sqrt
- 論理演算子:&&, ||, !
- 比較演算子: ==, <, >, <=, >=
- 複合型:配列 orリスト or タプル(なんでもよい)
- 制御:(? : ) と名前を使った再帰
- その他:括弧
Object.prototype.toString = function() {
var s = "{";
for (var p in this) {
var v = this[p];
if (v !== undefined && (typeof v) !== 'function') {
s += p + "=" + v + ", ";
}
}
s = s.replace(/, $/, "");
return s + "}";
};function App(fun, args) {
return fun.apply(null, args);
}
やや一般化した閉包の説明に使える。