R(R在GNU S中)的编程范例是什么?
我相信自己熟悉不同概念范式的编程语言(在C ++,Java,Prolog和其他一些语言中都有程序)但是虽然我已经编写了自己的小R脚本,但我不确定哪个范例R应该代表
答案 0 :(得分:17)
R支持面向对象和函数式编程范例的混合。
在功能方面:
但是
在面向对象方面:
它有三个内置的OO范例:S3和S4,它们是不可变的并支持泛型函数样式OO,以及引用类(又名R5),它们是可变的,并支持更常见的消息传递样式OO。
S4受到普通lisp(CLOS)和dylan的OO风格的影响很大。
还有一些提供其他类型的OO的贡献包:proto
,mutatr
,R.oo
,OOP
。
但是
答案 1 :(得分:3)
根据Wikipedia(强调补充),
R支持带有函数的过程式编程和带有泛型函数的面向对象编程。泛型函数的行为取决于传递的参数类型。换句话说,泛型函数识别对象的类型并选择(调度)特定于该类型对象的函数(方法)。例如,R有一个通用的print()函数,它可以用简单的“print(objectname)”语法打印R中几乎所有类型的对象。