English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Базовый учебник Ruby

Продвинутый учебник Ruby

Синтаксис Ruby

Давайте напишем простую Ruby программу. Все Ruby файлы имеют расширение .rb. Так что поместите следующий исходный код в файл test.rb.

Онлайн пример

#!/usr/bin/ruby -w
 
puts "Привет, Ruby!";

Здесь, предположим, что у вас в каталоге /usr/bin уже есть доступный интерпретатор Ruby. Попробуйте запустить эту программу, как показано ниже:

$ ruby test.rb

Это приведет к следующим результатам:

Привет, Ruby!

Вы уже видели простую Ruby программу, теперь давайте рассмотрим一些 базовые концепции грамматики Ruby:

Пробельные символы в Ruby программе

Пробельные символы в Ruby коде, такие как пробелы и табуляция, обычно игнорируются,除非 они появляются в строке. Однако, иногда они используются для разъяснения двусмысленных выражений. При включении опции -w такие интерпретации могут генерировать предупреждения.

Пример:

a + b интерпретируется как a+b (это локальная переменная)
a + b интерпретируется как a (+b) (это вызов метода)

Конец строки в Ruby программе

Ruby интерпретирует точку с запятой и символ перевода строки как конец строки. Однако, если в конце строки Ruby встречает оператор, например +, -, или обратную косую черту, они представляют собой продолжение строки.

Идентификатор Ruby

Идентификатор - это имя переменной, константы или метода. Идентификаторы Ruby чувствительны к регистру. Это означает, что Ram и RAM в Ruby - это два разных идентификатора.

Имена идентификаторов Ruby могут содержать буквы, цифры и символ подчеркивания (_).

Резервируемые слова

В таблице приведены резервируемые слова Ruby. Эти резервируемые слова не могут быть использованы в качестве имен постоянных или переменных. Однако они могут использоваться в качестве имен методов.

BEGINdonextthen
ENDelseniltrue
aliaselsifнеundef
иendилиunless
beginensureredountil
breakfalserescuewhen
caseforretrywhile
classifreturnwhile
defвself__FILE__
defined?модульsuper__LINE__

Here Document в Ruby

«Here Document» означает создание многострочного строкового литерала. После << вы можете указать строку или идентификатор для завершения строки, и все строки после текущей строки до терминатора являются значением строки.

Если терминатор заключен в кавычки, тип кавычек определяет тип строкового литерала面向 строки. Обратите внимание, что между << и терминатором не должно быть пробелов.

Ниже приведены различные примеры:

Онлайн пример

#!/usr/bin/ruby -w
# -*- coding: utf-8 -*-
 
print <<EOF
    Это первый способ создания here document.
    Многострочный строковый литерал.
EOF
 
print <<"EOF"; # Как и выше
    Это второй способ создания here document.
    Многострочный строковый литерал.
EOF
 
print <<`EOC` # Выполнение команды
    echo hi there
    echo lo there
EOC
 
print <<"foo", <<"bar" # Вы можете叠ать их
    Я сказал foo.
foo
    Я сказал bar.
bar

Это приведет к следующим результатам:

Это первый способ создания here document.
Многострочный строковый литерал.
Это второй способ создания here document.
Многострочный строковый литерал.
hi there
lo there
Я сказал foo.
Я сказал bar.

Ruby BEGIN символ

грамматика

BEGIN {
   код
}

декларация код Будет вызван до начала выполнения программы.

Онлайн пример

#!/usr/bin/ruby
 
puts "Это основная программа Ruby"
 
BEGIN {
   puts "Инициализация программы Ruby"
}

Это приведет к следующим результатам:

Инициализация программы Ruby
Это основная программа Ruby

Ruby END символ

грамматика

END {
   код
}

декларация код Будет вызван в конце программы.

Онлайн пример

#!/usr/bin/ruby
 
puts "Это основная программа Ruby"
 
END {
   puts "Остановить программу Ruby"
}
BEGIN {
   puts "Инициализация программы Ruby"
}

Это приведет к следующим результатам:

Инициализация программы Ruby
Это основная программа Ruby
Остановить программу Ruby

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

Комментарии скрывают для интерпретатора строку, часть строки или несколько строк. Вы можете использовать символ (#) в начале строки:

# Я комментарий, пожалуйста, игнорируйте меня.

或者, комментарий может следовать за语句ом или выражением в той же строке:

name = "Madisetti" # Это также комментарий

Вы можете-commentировать несколько строк, например:

# Это комментарий.
# Это также комментарий.
# Это также комментарий.
# Это все еще комментарий.

Ниже приведен другой формат. Этот блок комментариев скрывает строки между =begin=/=end:

=begin
Это комментарий.
Это также комментарий.
Это также комментарий.
Это все еще комментарий.
=end