English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Давайте напишем простую Ruby программу. Все Ruby файлы имеют расширение .rb. Так что поместите следующий исходный код в файл test.rb.
#!/usr/bin/ruby -w puts "Привет, Ruby!";
Здесь, предположим, что у вас в каталоге /usr/bin уже есть доступный интерпретатор Ruby. Попробуйте запустить эту программу, как показано ниже:
$ ruby test.rb
Это приведет к следующим результатам:
Привет, Ruby!
Вы уже видели простую Ruby программу, теперь давайте рассмотрим一些 базовые концепции грамматики Ruby:
Пробельные символы в Ruby коде, такие как пробелы и табуляция, обычно игнорируются,除非 они появляются в строке. Однако, иногда они используются для разъяснения двусмысленных выражений. При включении опции -w такие интерпретации могут генерировать предупреждения.
Пример:
a + b интерпретируется как a+b (это локальная переменная) a + b интерпретируется как a (+b) (это вызов метода)
Ruby интерпретирует точку с запятой и символ перевода строки как конец строки. Однако, если в конце строки Ruby встречает оператор, например +, -, или обратную косую черту, они представляют собой продолжение строки.
Идентификатор - это имя переменной, константы или метода. Идентификаторы Ruby чувствительны к регистру. Это означает, что Ram и RAM в Ruby - это два разных идентификатора.
Имена идентификаторов Ruby могут содержать буквы, цифры и символ подчеркивания (_).
В таблице приведены резервируемые слова Ruby. Эти резервируемые слова не могут быть использованы в качестве имен постоянных или переменных. Однако они могут использоваться в качестве имен методов.
BEGIN | do | next | then |
END | else | nil | true |
alias | elsif | не | undef |
и | end | или | unless |
begin | ensure | redo | until |
break | false | rescue | when |
case | for | retry | while |
class | if | return | while |
def | в | self | __FILE__ |
defined? | модуль | super | __LINE__ |
«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.
BEGIN { код }
декларация код Будет вызван до начала выполнения программы.
#!/usr/bin/ruby puts "Это основная программа Ruby" BEGIN { puts "Инициализация программы Ruby" }
Это приведет к следующим результатам:
Инициализация программы Ruby Это основная программа Ruby
END { код }
декларация код Будет вызван в конце программы.
#!/usr/bin/ruby puts "Это основная программа Ruby" END { puts "Остановить программу Ruby" } BEGIN { puts "Инициализация программы Ruby" }
Это приведет к следующим результатам:
Инициализация программы Ruby Это основная программа Ruby Остановить программу Ruby
Комментарии скрывают для интерпретатора строку, часть строки или несколько строк. Вы можете использовать символ (#) в начале строки:
# Я комментарий, пожалуйста, игнорируйте меня.
或者, комментарий может следовать за语句ом или выражением в той же строке:
name = "Madisetti" # Это также комментарий
Вы можете-commentировать несколько строк, например:
# Это комментарий. # Это также комментарий. # Это также комментарий. # Это все еще комментарий.
Ниже приведен другой формат. Этот блок комментариев скрывает строки между =begin=/=end:
=begin Это комментарий. Это также комментарий. Это также комментарий. Это все еще комментарий. =end