Ruby spaceship operator <=>

The spaceship operator is general comparison operator. The <=> operator compares 2 values and returning -1, 0, or 1 depending on whether the first value is less than, equal, or greater than the second.

Example in irb.

This operator is used on ruby range operation , objects must implement <=> and succ method to perform range operation. Lets test the a numeric value for these methods.

Keep learning ruby on 2021.

Ruby upto for looping

Numeric variable on ruby have upto method that we can use to do looping. Normally looping is done by using while or for syntax. Ruby can do differently.

Example above we loop from 10 to 15. Its simpler right.

Shorthand If and unless in Ruby lang

The basic conditional if in ruby is like any other programming language.

if condition then

[statements to execute if condition is satisfied (true) ]


If only a statement needed to executed then we can use shorthand form of if. Statement is at front followed by if and condition.

Ruby also have unless for conditional branching. Difference is statement will be executed if condition not satisfied (false).

Try it yourself at irb ! Bye …

Ruby Programming : Constant

Ruby programming language have constant like other language we know ? Or Ruby dont have ?

Ruby have naming convention related to variable names. If a variable name begin with upper case then its considered constant. Ruby wont stop you to change that constant, it only emit warning like a test case below on irb.

So thats Ruby’s constant.

Gem Install Location

This is an interesting command to know. We can use gem environment to find out gem files install location. Below is sample output on windows OS.

Digest Gem Ruby 2.6

Digest gem on ruby 2.6 is part of standard library. No need to do “gem install digest” anymore ! Here is proof on NetBSD 9.

Sinatra Ruby web app server on NetBSD 9

To host sinatra ruby web application on NetBSD 9 we need to install apache http server, ruby, and passenger.

To install ruby 2.6, login as root and do pkgin install ruby. This will automatically install ruby version 2.6. After installed, install sinatra and your other gems using gem install sinatra.

Next is to install apache http server. On terminal execute pkgin install apache. Copy rc.d script from /usr/pkg/share/examples/rc.d/apache to /etc/rc.d folder (this step just following after install message). Edit /etc/rc.conf and add a line containing apache=YES to enable auto start of apache on system start up.

Install passenger module to apache by executing pkgin install ap24-ruby26-passenger. After install edit /usr/pkg/etc/httpd/httpd.conf and add as follow.

LoadModule passenger_module lib/httpd/
<IfModule mod_passenger.c>
  PassengerRoot /usr/pkg/lib/ruby/vendor_ruby/2.6.0/phusion_passenger/locations.ini
  PassengerRuby /usr/pkg/bin/ruby26

Install sqlite3 gem

To install sqlite3 gem we need to install development package for ruby and sqlite3 it self because of the need to compile gem native extension.

On ubuntu/mint/debian do as follow :

apt-get install ruby-dev

apt-get install libsqlite3-dev

Dont forget to execute as root.

After that we can execute gem install sqlite3.

Thats all … Bye.

Happy chinesse new year 2570 !