|
|
Компьютеры - Ruby - Возможности Ruby14 мая 2011
Оглавление: 1. Ruby 2. Хронология выхода версий 3. Философия 4. Семантика 5. Возможности Ruby 6. Примеры 7. Реализация 8. Поддержка IDE 9. Библиотеки
- Имеет лаконичный и простой синтаксис, частично разработанный под влиянием Ада, Eiffel и Python.
- Позволяет обрабатывать исключения в стиле Java и Python.
- Позволяет переопределять операторы, которые на самом деле являются методами.
- Полностью объектно-ориентированный язык программирования. Все данные в Ruby являются объектами в понимании Smalltalk. Единственное исключение — управляющие конструкции, которые в Ruby в отличие от Smalltalk не являются объектами. Например, число «1» — это экземпляр класса
Fixnum . Также поддерживается добавление методов в класс и даже в конкретный экземпляр во время выполнения программы.
- Не поддерживает множественное наследование, но вместо него может использоваться концепция «примесей», основанная в данном языке на механизме модулей.
- Содержит автоматический сборщик мусора. Он работает для всех объектов Ruby, в том числе для внешних библиотек.
- Создавать расширения для Ruby на Си очень просто частично из-за сборщика мусора, частично из-за несложного и удобного API.
- Поддерживает замыкания с полной привязкой к переменным.
- Поддерживает блоки кода. Блоки могут использоваться в методах или преобразовываться в замыкания.
- Целые переменные в Ruby автоматически конвертируются между типами
Fixnum и Bignum в зависимости от их значения, что позволяет производить целочисленные математические расчёты со сколь угодно большой точностью.
- Не требует предварительного объявления переменных, но для интерпретатора желательно, чтобы переменным присваивалось пустое значение nil. Язык использует простые соглашения для обозначения области видимости. Пример: просто
var — локальная переменная, @var — переменная экземпляра, @@var — переменная класса, $var — глобальная переменная.
- В Ruby непосредственно в языке реализованы многие шаблоны проектирования, так, например, «одиночка» может быть реализован добавлением необходимых методов к одному конкретному объекту.
- Может динамически загружать расширения, если это позволяет операционная система.
- Имеет независимую от ОС поддержку невытесняющей многопоточности.
- Перенесён на множество платформ. Он разрабатывался на Linux, но работает на многих версиях Unix, DOS, Microsoft Windows, Mac OS, BeOS, OS/2 и т. д.
Просмотров: 9822
|