Что такое парадигма программирования R?

StackOverflow https://stackoverflow.com/questions/6098810

  •  09-09-2020
  •  | 
  •  

Вопрос

Что такое парадигма программирования r (r как в gnu s)?

Я верю, что я знаком с языками программирования разных концептуальных парадигм (есть программирование в C ++, Java, Prology и другие языки), но хотя я уже пишу свои собственные сценарии R, я не уверен, какая парадигма должна представлять,

Это было полезно?

Решение

r поддерживает смесь объектно-ориентированных и функциональных парадигм программирования.

на функциональной стороне это:

    .
  • имеет функции первого класса
  • имеет ленивую оценку аргументов
  • поощряет чистый, без бокового эффекта бесплатные функции

Но

    .
  • это не реализует рекурсию вызова хвоста
  • и легко создавать не чистые функции

на ориентированной на объект:

    .
  • Он имеет три встроенные парадигмы OO: S3 и S4, которые являются неизменными и поддерживать универсальный стиль функции OO, а также ссылочные классы (aka R5), которые являются смежными, и поддерживают более распространенный стиль прохождения сообщения OO.

  • s4 сильно зависит от oo-стиль общего lisp (Black) и диалана.

  • Есть также ряд предоставленных пакетов, которые обеспечивают другие типы OO: proto, mutatr, GeneracodicCode, R.oo.

Но

    .
  • встроенные инструменты OO обеспечивают мало на пути синтаксического сахара.

Другие советы

Согласно Wikipedia (ACTIS добавлено),

r поддерживает Процессуальное программирование с функциями и <сильным> объектно-ориентированным на объектно-ориентированном программировании с универсальными функциями.Общая функция действует по-разному в зависимости от типа аргументов, которые оно передается.Другими словами, общая функция распознает тип объекта и выбирает (рассылки) функции (метод), специфичный для этого типа объекта.Например, R имеет универсальную функцию Print (), которая может печатать практически каждый тип объекта в R с простой синтаксисом «Print (ObjectName)».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top