An open API service indexing awesome lists of open source software.

https://github.com/cdalvaro/ruby-notebooks

💎 A series of Jupyter notebooks for learning the Ruby programming language
https://github.com/cdalvaro/ruby-notebooks

ruby ruby-notebooks ruby-programming-language tutorial

Last synced: 12 months ago
JSON representation

💎 A series of Jupyter notebooks for learning the Ruby programming language

Awesome Lists containing this project

README

          

[![Ruby version][ruby_badge]][ruby_release_notes]

# Ruby Notebooks

A series of Jupyter notebooks for learning the Ruby programming language.

## IRuby

You can follow these notebooks without installing [`iruby`](https://github.com/SciRuby/iruby) on your computer by using the Interactive Ruby environment [`irb`](https://github.com/ruby/irb).

But if you prefer using Jupyter, you can follow the [official documentation](https://github.com/SciRuby/iruby#installation) for installing `iruby` and register a Ruby kernel for your Jupyter notebooks.

## Notebooks

1. [Quickstart - Ruby in Twenty Minutes](notebooks/Quickstart.ipynb)
2. [Names](notebooks/Names.ipynb)
3. [Numbers](notebooks/Numbers.ipynb)
4. [Methods](notebooks/Methods.ipynb)
5. [Strings](notebooks/Strings.ipynb)
6. [Flow Control](notebooks/FlowControl.ipynb)
7. [Blocks](notebooks/Blocks.ipynb)
8. [Arrays](notebooks/Arrays.ipynb)
9. [Ranges](notebooks/Ranges.ipynb)
10. [Symbols](notebooks/Symbols.ipynb)
11. [Hashes](notebooks/Hashes.ipynb)
12. [Random Numbers](notebooks/RandomNumbers.ipynb)
13. [Read/Write Text Files](notebooks/ReadWriteTextFiles.ipynb)
14. [Regular Expressions](notebooks/RegularExpressions.ipynb)
15. [Classes](notebooks/Classes.ipynb)
16. [Method Missing](notebooks/MethodMissing.ipynb)
17. [Procs](notebooks/Procs.ipynb)
18. [Including Other Files](notebooks/IncludingOtherFiles.ipynb)
19. [Open Classes](notebooks/OpenClasses.ipynb)
20. [Inheritance](notebooks/Inheritance.ipynb)
21. [Overriding Methods](notebooks/OverridingMethods.ipynb)
22. [Overloading Methods](notebooks/OverloadingMethods.ipynb)
23. [Access Control](notebooks/AccessControl.ipynb)
24. [Exceptions](notebooks/Exceptions.ipynb)
25. [Logging](notebooks/Logging.ipynb)
26. [Time Class](notebooks/TimeClass.ipynb)
27. [Duck Typing](notebooks/DuckTyping.ipynb)
28. [Syntactic Sugar](notebooks/SyntacticSugar.ipynb)
29. [Mutable and Immutable Objects](notebooks/MutableAndImmutableObjects.ipynb)
30. [Object Serialization](notebooks/ObjectSerialization.ipynb)
31. [Modules Mixins](notebooks/ModulesMixins.ipynb)
32. [Self](notebooks/Self.ipynb)
33. [Constants](notebooks/Constants.ipynb)

## Acknowledgments

Most of the content of these notebooks has been extracted from online documentation sites such as:

- https://www.ruby-lang.org
- http://rubylearning.com

[ruby_release_notes]: https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
[ruby_badge]: https://img.shields.io/badge/Ruby-3.0-CC342D?logo=ruby&logoColor=CC342D