Ruby Inspect

Logo

Ruby Inspect, a comprehensive review of the programming language Ruby

View the Project on GitHub yc015/Ruby-Inspect

Welcome to the Ruby Inspect!

Ruby Inspect is an online study note for programmers who wish to uncover the interesting facts of Ruby, a programming language that has been thrived for more than 20 years. This study note focuses on the programming language designs of Ruby.

Table of Contents

  1. Ruby Installation and your first Ruby program
    • Installation
    • HelloWorld.rb
  2. History of Ruby
  3. Programming Paradigms of Ruby:
    • Object Oriented
    • Functional
    • Imperative
  4. Variable Typing in Ruby: Dynamic or Static Typing?
  5. Types of Variables
  6. Typing Strength
  7. Type Coercion
  8. Scope in Ruby: Dynamic or Static Score?
  9. Reflection
    • Computational Reflection
    • Structural Reflection
  10. Possible Memory Hazard
  11. Short Circuit Evaluation
  12. Parameter Passing
  13. Strict vs Non-strict Evaluation
  14. Math Operations on Numbers
  15. Multidimensional Arrays
  16. The String Type
  17. Using Default Parameters in Ruby
  18. Constructors
  19. Garbage Collection
  20. Namespaces
  21. Inheritance
  22. Overloading Operators
  23. Polymorphism
  24. Exceptions
  25. Method Binding: Dynamic or Static Binding?
  26. Deep vs Shallow copying of objects
  27. Anonymous Functions
  28. Higher Order Functions
  29. Function composition
  30. Infinite Lists
  31. Return Value in Ruby
  32. Dangling Else

About Author

The author of Ruby Inspect, Yida Chen, is an undergraduate computer science student at Bucknell University. His research interests spread from Medical Image Analysis to Digital Humanities. He is the project maintainer of an open-access software, KALMUS: tools for color analysis of films.

Acknowledgement

This online study note is a part of outcomes from the course CSCI308: Programming Language Design instructed by Prof. Lea Wittie and Prof. Alex Kelly at Bucknell University.

Open-Access

The material of the Ruby Inspect is open-access under the Creative Commons Attribution-ShareAlike 4.0 International License. The source codes provided in the study notes are distributed under the open-source MIT License. You can find the copies of source codes in the src/ directory of this book’s GitHub Repository.

Contact Author

If you find any errors, typos, or have any suggestions to Ruby Inspect, please contact the author, Yida Chen, via email yc015@bucknell.edu or open an issue in the textbook’s GitHub repository.

License: CC BY-SA 4.0