Content deleted Content added
m Updated the URL of the "Reasons behind Ruby" talk |
m WP:ADOPTYPO boolean -> Boolean |
||
Line 2:
{{distinguish|Ruby on Rails}}
{{Technical|introduction|date=June 2022}}
{{infobox programming language
| logo = Ruby logo.svg
Line 105 ⟶ 106:
* Unify ''Fixnum'' and ''Bignum'' into ''Integer'' class
* String supports Unicode case mappings, not just ASCII
* A new method, Regexp#match?, which is a faster
* Thread deadlock detection now shows threads with their backtrace and dependency
Line 147 ⟶ 148:
}}
Ruby is [[Object-oriented programming|object-oriented]]: every value is an object, including classes and instances of types that many other languages designate as primitives (such as [[Integer (computer science)|integers]],
Ruby has been described as a [[multi-paradigm programming language]]: it allows procedural programming (defining functions/variables outside classes makes them part of the root, 'self' Object), with object orientation (everything is an object) or [[functional programming]] (it has [[anonymous function]]s, [[Closure (computer science)|closures]], and [[continuation]]s; statements all have values, and functions return the last evaluation). It has support for [[Introspection (computer science)|introspection]], [[reflective programming]], [[metaprogramming]], and interpreter-based [[Thread (computer science)|threads]]. Ruby features [[Type system|dynamic typing]], and supports [[parametric polymorphism]].
Line 167 ⟶ 168:
* [[Garbage collection (computer science)|Garbage collection]]
* [[First-class continuation]]s
* Strict
* [[Exception handling]]
* [[Operator overloading]]<ref name="Methods"/>
|