Skip to content
Omni Academy
Search courses and lessons
Search
Courses
Backend Development
9
Databases
1
Frontend Development
5
Data Science
5
All courses →
Playground
HTML & CSS
JavaScript
TypeScript
Python
PHP
Ruby
Light
Dark
Auto
Sign in
Get started
All
Backend Development
Databases
Frontend Development
Data Science
Playground
Blog
HTML
JS
TS
PY
PHP
RB
← Courses
📄
Classes and modules
Run as I type
Reset
▶
Run
Ctrl
↵
RB
Ruby source code
module Describable def describe = "#{self.class.name.downcase}: #{self}" end class Learner include Describable include Comparable attr_reader :name, :score def initialize(name, score) @name = name @score = score end # Comparable builds <, >, between? and sort from this one method. def <=>(other) = score <=> other.score def to_s = "#{name} (#{score})" end learners = [Learner.new("Aisha", 92), Learner.new("Kenji", 78), Learner.new("Lena", 85)] puts learners.max.to_s puts learners.sort.map(&:to_s).inspect puts learners.first.between?(learners.min, learners.max) puts learners.first.describe # Everything is an object, including the class itself. puts Learner.ancestors.take(4).inspect
Input
one line per
input()
call
Output
Rendered by your browser