質問
R(GNU SのようなRのようなR)のプログラミングパラダイムとは何ですか?
私は、さまざまな概念的なパラダイムのプログラミング言語に精通していると思います(C ++、Java、Prolog、および他のいくつかの言語ではプログラマンドを持っています)が、私はすでに自分の小さいRスクリプトを書いていますが、私はどのパラダイムRが表現するべきかわからない。
解決
Rは、オブジェクト指向および機能的プログラミングパラダイムの混合物をサポートします。
機能側で:
- は最初のクラス関数 を持っています
- 引数 の遅延評価
- 純粋な副作用のない機能 を奨励する
しかし
- テールコールの再帰を実装しません
- と非純粋な関数を作成するのは簡単です
:
-
は、S3とS4には3つの組み込みのOOパラダイムがあります。
-
S4は、一般的なLisp(Clos)とDylanのOOスタイルの影響を大きく受けています。
-
他のタイプのOO:
proto
、mutatr
、R.oo
、OOP
。
しかし
- 内蔵のOOツールは、構文砂糖の邪魔にならない。
他のヒント
Wikipedia (重点追加)、
Rは、関数とオブジェクト指向プログラミングを用いて手続き型プログラミング>をサポートしています。汎用関数は、渡される引数の種類によって異なります。言い換えれば、一般的な関数はオブジェクトの種類を認識し、そのタイプのオブジェクトに固有の関数(メソッド)を選択(ディスパッチ)する。たとえば、Rは、単純な「印刷(ObjectName)」構文を使用して、ほとんどすべての種類のオブジェクトを印刷することができる一般的な印刷()関数を持っています。
所属していません StackOverflow