Excluding the direction-finding logic. Ruby lacks a GOTO or even a way to "break" out of two loops instead of one, necessitating the use of variables and subroutines that the original program lacked.