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 functions, closures, and continuations; statements all have values, and functions return the last evaluation).
Ruby describiuse coma unha linguaxe de programación multiparadigma: permite programación procedural (definindo funcións e variables fora das clases facéndoas parte do obxecto raíz Object), con orientación a obxectos, (todo é un obxecto) ou funcionalmente (ten funcións anónimas, clausuras ou closures, e continuations; tódalas sentenzas teñen valores, e as funcións devolven a última avaliación).