Что обозначают $:, $!, $_ и другие переменные?

Это глобальные переменные (все $xxx -- глобальные переменные), которые содержат информацию о программе и ее окружении. Все они позаимствованы из Perl, существуют и приветствуются более идиоматические способы доступа к этой информации. Смотрите объяснения всех этих переменных в третьей главе книги "Ruby in a Nutshell" ("Built-in Library Reference"). Также обратите внимание на файл "English.rb", который можно использовать (require "English"), чтобы создать эквивалент таких переменных в виде английских слов. Например:

  alias $ERROR_INFO              $!
  alias $FIELD_SEPARATOR         $;
  alias $DEFAULT_OUTPUT          $>
  alias $ARGV                    $*

Вход для пользователей