Ruby: с нуля – часть 1: синтаксис

Содержание

ruby_logoRuby Hello, World

Исполняемые файлы Ruby имеют расширение .rb.

Создаем файл, например – hello.rb:

$ vim hello.rb

С таким содержимым:

$ cat hello.rb
#!/usr/bin/env ruby

puts "Hello, Ruby!";

Запускаем его:

$ chmod +x hello.rb
$ ./hello.rb
Hello, Ruby!

В Ruby точка с запятой и символ новой строки считается завершением оператора.

Т.е. – пример выше можно записать как:

puts "Hello, Ruby!";

либо:

puts "Hello, Ruby!"

HereDoc в Ruby

Here Document” позволяет составлять строки из нескольких линий.

Используя символы <<  можно указать разделитель, текст между которым будет считаться единой строкой.

Обратите внимание, что между <<и разделителем нет пробела.

Несколько примеров использования HereDoc:

$ cat heredoc.rb
#!/usr/bin/env ruby

print <<EOF
    This is the first way of creating
    here document ie. multiple line string.
EOF

print <<"EOF";                # same as above
    This is the second way of creating
    here document ie. multiple line string.
EOF

print <<`EOC`                 # execute commands
    echo hi there
    echo lo there
EOC

print <<"foo", <<"bar"  # you can stack them
    I said foo.
foo
    I said bar.
bar

Результат выполнения:

$ ./heredoc.rb
    This is the first way of creating
    here document ie. multiple line string.
    This is the second way of creating
    here document ie. multiple line string.
hi there
lo there
    I said foo.
    I said bar.

Оператор BEGIN

Синтаксис:

BEGIN {
   code
}

Задает код, который будет выполнен до начала выполнения самой программы.

Например:

$ cat begin.rb
#!/usr/bin/env ruby

puts "This is main Ruby Program"

BEGIN {
   puts "Initializing Ruby Program"
}

Результат:

$ ./begin.rb
Initializing Ruby Program
This is main Ruby Program

Оператор END

Синтаксис:

END {
   code
}

Аналогичен BEGIN, но выполняется в конце выполнения программы, например:

$ cat end.rb
#!/usr/bin/env ruby

puts "This is main Ruby Program"

END {
   puts "Terminating Ruby Program"
}
BEGIN {
   puts "Initializing Ruby Program"
}
$ ./end.rb
Initializing Ruby Program
This is main Ruby Program
Terminating Ruby Program

Комментарии в  Ruby

Однострочные комментарии обозначаются символом #, например:

# это комментарий
variable = "Value" # и это комментарий

Для многострочных комментариев можно использовать операторы =begin/=end:

$ cat comment.rb
#!/usr/bin/env ruby

puts "Comments below"

=begin
This is a comment.
This is a comment, too.
I said that already.
=end

puts "Comments above"
$ ./comment.rb
Comments below
Comments above

Продолжение – часть 2: классы и объекты.