R的编程范式是什么?

15 paradigms r

R(R在GNU S中)的编程范例是什么?

我相信自己熟悉不同概念范式的编程语言(在C++,Java,Prolog和其他一些语言中都有程序),但是虽然我已经编写了自己的小R脚本,但我不确定R应该代表哪种范例.

had*_*ley 19

R支持面向对象和函数式编程范例的混合.

在功能方面它:

  • 有一流的功能
  • 对参数进行了懒惰的评价
  • 鼓励纯粹,无副作用的自由功能

  • 它没有实现尾调用递归
  • 并且很容易创建非纯函数

在面向对象方面:

  • 它有三个内置的OO范例:S3和S4,它们是不可变的并支持泛型函数样式OO,以及引用类(又名R5),它们是可变的,并支持更常见的消息传递样式OO.

  • S4受到OO风格的普通lisp(CLOS)和dylan的严重影响.

  • 也有一些贡献包,提供其他类型OO的:proto,mutatr,R.oo,OOP.

  • 内置的OO工具几乎没有提供语法糖.


Mat*_*all 5

根据维基百科(添加重点),

R 支持使用函数进行过程式编程以及使用泛型函数进行面向对象编程。泛型函数的行为会根据所传递的参数类型而有所不同。换句话说,通用函数识别对象的类型并选择(分派)特定于该类型的对象的函数(方法)。例如,R 有一个通用的 print() 函数,它可以使用简单的“print(objectname)”语法打印 R 中几乎所有类型的对象。