As a project to assist in learning Ruby, the decision was made to build a calculator. I believe it’s a common challenge that developers undertake to learn a new language because—despite the initial thought that it is an easy task—it’s challenging and can serve to sharpen your understanding of the language and how the language handles numeric types. Additionally, part of my original goals was to allow for interchangeable user interfaces, even though I only ever wrote the one, using GTK2 to provide a windowed interface.
Feel free to review the code here and let me know your thoughts. It requires the ruby/gtk2 package (‘gem install gtk2’) to run, unless you decide to provide a different user interface.