Javatpoint Logo
Javatpoint Logo

Features of Ruby

Ruby language has many features. Some of them are explained below:

Features of Ruby
  • Object-oriented
  • Flexibility
  • Expressive feature
  • Mixins
  • Visual appearance
  • Dynamic typing and Duck typing
  • Exception handling
  • Garbage collector
  • Portable
  • Keywords
  • Statement delimiters
  • Variable constants
  • Naming conventions
  • Keyword arguments
  • Method names
  • Singleton methods
  • Missing method
  • Case Sensitive

Object Oriented

Ruby is purely object oriented programming language. Each and every value is an object. Every object has a class and every class has a super class. Every code has their properties and actions. Ruby is influenced with Smalltalk language. Rules applying to objects applies to the entire Ruby.


Ruby is a flexible language as you can easily remove, redefine or add existing parts to it. It allows its users to freely alter its parts as they wish.


Ruby has a feature of single inheritance only. Ruby has classes as well as modules. A module has methods but no instances. Instead, a module can be mixed into a class, which adds the method of that module to the class. It is similar to inheritance but much more flexible.

Visual appearance

Ruby generally prefers English keyword and some punctuation is used to decorate Ruby. It doesn't need variable declaration.

Dynamic typing and Duck typing

Ruby is a dynamic programming language. Ruby programs are not compiled. All class, module and method definition are built by the code when it run.

Ruby variables are loosely typed language, which means any variable can hold any type of object. When a method is called on an object, Ruby only looks up at the name irrespective of the type of object. This is duck typing. It allows you to make classes that pretend to be other classes.

Variable constants

In Ruby, constants are not really constant. If an already initialized constant will be modified in a script, it will simply trigger a warning but will not halt your program.

Naming conventions

Ruby defines some naming conventions for its variable, method, constant and class.

  • Constant: Starts with a capital letter.
  • Global variable: Starts with a dollar sign ($).
  • Instance variable: Starts with a (@) sign.
  • Class variable: Starts with a (@@) sign.
  • Method name: Allowed to start with a capital letter.

Keyword arguments

Like Python, Ruby methods can also be defined using keyword arguments.

Method names

Methods are allowed to end with question mark (?) or exclamation mark (!). By convention, methods that answer questions end with question mark and methods that indicates that method can change the state of the object end with exclamation mark.

Singleton methods

Ruby singleton methods are per-object methods. They are only available on the object you defined it on.

Missing method

If a method is lost, Ruby calls the method_missing method with name of the lost method.

Statement delimiters

Multiple statements in a single line must contain semi colon in between but not at the end of a line.


In Ruby there are approximately 42 keywords which can't be used for other purposes. They are called reserved words.

Case Sensitive

Ruby is a case-sensitive language. Lowercase letters and uppercase letters are different.

Next TopicRuby vs python

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA