Ruby (programming language)
Appearance
![]() | |
Paradigm | multi-paradigm: object-oriented, imperative, functional, reflective |
---|---|
Designed by | Yukihiro Matsumoto |
Developer | Yukihiro Matsumoto, et al. |
First appeared | 1995 |
Stable release | 2.3.1 / April 26, 2016[1] |
Typing discipline | duck, dynamic |
Scope | lexical, sometimes dynamic |
OS | Cross-platform |
License | Ruby License or BSD License[2][3] |
Filename extensions | .rb, .rbw |
Website | www |
Major implementations | |
Ruby MRI, YARV, Rubinius, MagLev, JRuby, MacRuby, RubyMotion, HotRuby, IronRuby, mruby | |
Influenced by | |
Ada,[4] C++,[4] CLU,[5] Dylan,[5] Eiffel,[4] Lisp,[5] Perl,[5] Python,[5] Smalltalk[5] | |
Influenced | |
D,[6] Elixir, Falcon, Fancy,[7] Groovy, Ioke,[8] Mirah, Nu,[9] Reia, Crystal | |
|
Ruby is the name of a programming language that was created in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan. Like other programming languages, such as Python, its structure (the way it works) is very similar to the English language. It has these qualities:
- Terse. Short, but still easy to understand.
- Dynamic. Easy to change, anytime and anywhere.
- Duck typing. If you think you understand it, you probably understand it.
Many programmers like it because the creator tried to make it easy and nice to use.[10]
Example
An example Hello World program in Ruby:
puts "Hello World!"
An example program in Ruby that asks for your name and then says it:
puts "What's your name?"
name = gets.chomp
puts "Ah hello there, #{name}"
A function in Ruby that joins the 2 strings (or arrays/integers) into one, removes all numbers from it, capitalizes the string and then repeats it 5 times:
def somefunction(arg1, arg2)
arg = arg1 + arg2
arg = arg.tr("1234567890","")
arg = arg.capitalize
5.times do
puts arg
end
end
somefunction("h1e2l6lo7,"," W5o6r8l9d!3")
Output:
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
References
- ↑ "Ruby 2.3.1 Released". ruby-lang.org. 2016-04-26. Retrieved 10 May 2016.
- ↑ COPYING in Ruby official source repository
- ↑ BSDL in Ruby official source repository
- ↑ 4.0 4.1 4.2 Cooper, Peter (2009). Beginning Ruby: From Novice to Professional. Beginning from Novice to Professional (2nd ed.). Berkeley: Apress. p. 101. ISBN 1-4302-2363-4.
To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby.
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 Bini, Ola (2007). Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java. Berkeley: APress. p. 3. ISBN 1-59059-881-4.
It draws primarily on features from Perl, Smalltalk, Python, Lisp, Dylan, and CLU.
- ↑ Intro – D Programming Language 1.0 – Digital Mars
- ↑ Bertels, Christopher (23 February 2011). "Introduction to Fancy". Rubinius blog. Engine Yard. Retrieved 2011-07-21.
- ↑ Bini, Ola. "Ioke". Ioke.org. Retrieved 2011-07-21.
inspired by Io, Smalltalk, Lisp and Ruby
- ↑ Burks, Tim. "About Nu™". Programming Nu™. Neon Design Technology, Inc. Retrieved 2011-07-21.
- ↑ "About ruby".
Other websites

Wikimedia Commons has media related to Ruby programming language.

The English Wikibooks has more information on:

Wikiversity has more on: Topic:Ruby
- Official website
- Ruby documentation site
- Ruby Draft Specification- Sep 2010
- Wiki: Ruby language and implementation specification
- Ruby at the Open Directory Project